问题描述
我正在寻找将Python日期时间对象呈现为ISO8601字符串的最快方法。在那里有几种不同的方法可以执行此操作,本机datetime
模块具有strftime
,isoformat
以及仅旧的__str__
。还有许多其他 exotic 方法,例如Pendulum(https://pendulum.eustace.io/),xml.utils.iso8601.tostring
和此处的其他https://wiki.python.org/moin/WorkingWithTime
我希望那里有ciso8601之类的东西,它具有在这里比较多种方法的出色基准:https://github.com/closeio/ciso8601#benchmark
解决方法
我已经对所有可以找到的不同方法进行了基准测试,结果如下:
- datetime.strftime -1000000个循环的时间:9.262935816994286
- 广播到字符串-1000000循环的时间:4.361843378001172
- 日期时间等格式-1000000循环的时间:4.331578577999608
- 摆锤to_iso8601_string -1000000次循环的时间:18.471532950992696
- rfc3339 -1000000次循环的时间:24.731586036010412
生成此代码的代码是:
941|974|072