python strptime vs dateutil - 推荐使用

标签 python python-dateutil

我需要经常在字符串和日期时间对象之间进行转换——直到现在我一直使用 strptime 和 strftime。 我开始使用谷歌日历 API,我收到这样的字符串:'2018-03-17T09:00:00+01:00

似乎我需要将 +01:00 转换为 strptime 的 0100,这有点烦人。 虽然我对 dateutil 没有这个问题,但还有其他一些不便之处。我还看到 dateutil 的最后一次更新是在 2016 年,这似乎很奇怪。

所以我的问题是你会推荐哪一个来添加和减去日期和日期时间以及在字符串和日期时间 obj 之间切换? dateutil 是否仍在维护或已过时?

非常感谢! - 莎莉

最佳答案

It seems like i need to convert the +01:00 into 0100 for strptime

不,你没有。

一方面,标准格式是+0100,而不是0100

另外,strptime 处理 +01:00 就好了:

>>> datetime.datetime.strptime('2018-08-13T11:18:24+00:00', 
...                            '%Y-%m-%dT%H:%M:%S%z')
datetime.datetime(2018, 8, 13, 11, 18, 24, tzinfo=datetime.timezone.utc)
>>> datetime.datetime.strptime('2018-08-13T11:18:24+01:00', 
...                            '%Y-%m-%dT%H:%M:%S%z')
datetime.datetime(2018, 8, 13, 11, 18, 24, tzinfo=datetime.timezone(datetime.timedelta(seconds=3600)))

所以,你要解决的问题一开始就不存在。


While i dont have this issue with dateutil there are a few other inconveniences.Also i saw that the last update of dateutil was in 2016 which seems odd.

截至 2018 年 8 月 13 日,the last update to dateutil是 2 天前。最后official release to PyPI ,版本 2.7.3,是 3 个月前的。

所以,你的次要问题也不存在。


So my question is which one would you recommend for adding and substracting dates and datetimes and switching between string and datetime obj?

由于 dateutil 只为您提供与 datetime 提供的相同的 datetime 对象,因此对于添加和减去日期和日期时间,没有一个更好。

对于字符串格式的转换,有时 dateutil 更方便,而且它还支持更广泛的格式,你并不关心——但对于你正在做的事情,它们两者都工作正常,所以没有区别。如果您希望将来需要其他格式,则可能值得引入 dateutil,但如果没有,您还不如坚持使用标准库。

关于python strptime vs dateutil - 推荐使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51828219/

相关文章:

python - 如何循环 dict 并将该值用作对象的函数?

Python查找两个日期范围之间的日期

python - 为什么此代码依赖于我的本地计算机时区?

python - 使用 dateutil 解析日期时出现问题

python - 为什么调用 dateutil.parser.parse 表明 11 月是 12 月?

python - 在这种情况下如何使用 Assert?

python - 我会为此使用闭包吗?

python - 默认情况下,JSON 库是 python 的一部分还是外部包。 simplejson 和 Json 是不同的包吗

python - 如果重叠,一键激活多个按钮

python - 检查日期时间字符串是否为 ISO 8601 格式