今天意外发现
import pytz,datetime
tz = pytz.timezone('Asia/Shanghai')
print(datetime.datetime.now(tzinfo=tz))
得到的是datetime.datetime(2020, 7, 7, 0, 0, tzinfo=<DstTzInfo 'Asia/Shanghai' LMT+8:06:00 STD>)
注意到不是UTC+8:00,而是+8:06。
LMT(Local Mean Time)是一种地方观测太阳平均计时的时间,地方不同所以会有差异。
CST(China Standard Time)表示中国标准时间,代表的是UTC+8:00。
实际上按照pytz的文档,构造本地时间的方法是使用localize()方法。
import pytz,datetime
tz = pytz.timezone('Asia/Shanghai')
print(tz.localize(datetime.datetime.now()))
这样就没问题了
参考:http://bbs.raindi.net/thread-16675-1-1.html
本文由 hunsh 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Mar 17, 2021 at 11:47 pm