我对我前段时间写的一些代码感到震惊。为了不进入太多的细节,我有一个方法,通过一些对象,其中有一个日期参数运行。如果date参数等于今天的日期,则继续。
我已经在我的本地机器上设置了这个用于测试,并且有像695个对象都具有相同的日期,今天,但是当动作运行时没有发生任何事情,所以我调试它以发现我的表达式date.today()
返回datetime.date(2014, 3, 19)
。
这是不正确的,因为我的计算机从date
命令的日期是Tue Mar 18 20:56:09 AST 2014
。
我使用from datetime import date
。这是我遇到过的最神秘的错误之一。有什么经验可以分享吗?非常感谢。
该方法不支持时区,也没有独立于平台的方法来实现这一点。通常要做的是合并pytz之类的东西并调用.today()作为:
datetime.utcnow().replace(tzinfo = pytz.utc).strftime('%Y-%m-%d')