如何获得给定时区的“午夜”UTC时间?我现在能想到的最好的就是这种怪异:>>> datetime.utcnow() \... .replace(tzinfo=pytz.UTC) \... .astimezone(pytz.timezone("Australia/Melbourne")) \... .replace(hour=0,minute=0,second=0,microsecond=0) \... .astimezone(pytz.UTC) \... .replace(tzinfo=None)datetime.datetime(2008, 12, 16, 13, 0)即,用英语,获取当前时间(以UTC为单位),将其转换为其他时区,将时间设置为午夜,然后转换回UTC。我不只是使用now()或localtime(),因为它会使用服务器的时区,而不是用户的时区。我不禁感到我错过了什么,有什么想法吗?
3 回答
慕工程0101907
TA贡献1887条经验 获得超5个赞
设置TZ环境变量会修改Python的日期和时间函数的时区。
>>> time.gmtime()(2008, 12, 17, 1, 16, 46, 2, 352, 0)>>> time.localtime()(2008, 12, 16, 20, 16, 47, 1, 351, 0)>>> os.environ['TZ']='Australia/Melbourne'>>> time.localtime()(2008, 12, 17, 12, 16, 53, 2, 352, 1)
添加回答
举报
0/150
提交
取消