如何獲得給定時區的“午夜”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 回答

互換的青春
TA貢獻1797條經驗 獲得超6個贊
設置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
提交
取消