我正试图在我的Python应用程序中实现时区感知,我遇到了两个实现此功能的不同Python模块:pytz
和python-dateutil
。这两个模块之间有什么区别?
(pytz)http://pytz.sourceforge.net/
(dateutil)https://dateutil.readthedocs.io/en/stable/
本文很好地概述了这两个库之间的差异,最大的差异显然是DST边缘情况的正确性(其中dateutil.tz
具有优势)。
它们都为处理时区提供了有用的支持。我个人在django应用程序中使用过pytz,发现它很有用,而且很容易使用。希望我的两毛钱能帮上忙。
我使用这两个包。我个人不喜欢python dateutil的打包方式(整个版本的python 2和这个版本的python 3),它以前甚至不在pypi上。python dateutil非常适合解析,即使它有点慢(不过它正在解析)。我会把我的钱押在pytz套餐上,它将成为时区的标准。
我个人也更喜欢pytz包。python dateutil使用起来有点奇怪,而且速度有点慢
pytz有预定义的时区,可在简单的调用方法中使用,例如"Asia/kolkata"表示"kolkata",dateutil将使用操作系统中所有可用的时区。对于公共时区,它们在pytz中可用。这是它们之间的主要区别,但pytz没有那么复杂。