我有两台独立的机器(本地开发和服务器)从数据库访问相同的日期时间。日期时间对象在两台计算机上具有相同的值(包括时区):
本地
print ts
> datetime.datetime(2017, 1, 13, 7, 18, 9, 209000, tzinfo=<UTC>)
服务器
print ts
> datetime.datetime(2017, 1, 13, 7, 18, 9, 209000, tzinfo=<UTC>)
但是,strftime
的输出在两台机器上都不同:
本地
print ts.strftime('%s')
> 1484320689
服务器
print ts.strftime('%s')
> 1484291889
这里发生了什么?如何让客户端和服务器以UTC格式输出相同的时间戳字符串?
答案 0 :(得分:0)
如果有人遇到这篇文章,我找到了解决方案。
事实证明,strftime总是试图转换为当地时间,你无能为力。
解决方案是使用日历:
return calendar.timegm(self.timestamp.timetuple()) * 1000 + self.timestamp.microsecond / 1000
如果你需要你的毫秒:
{{1}}
或类似的微秒。