目前,我试图了解如何timezone.localize工作。天真的日期时间(没有时区信息)现在,我尝试创建一个简单的日期时间(没有时区信息)。我认为一切都会尊重UTC>>> d = datetime.datetime.fromtimestamp(1535500800)>>> ddatetime.datetime(2018, 8, 29, 0, 0)>>> time.mktime(d.timetuple())1535500800.0>>> d.hour0一切似乎都很好。现在,我想尝试timezone.localize使用 timezone.localize 带时区的日期时间>>> d = datetime.datetime.fromtimestamp(1535500800)>>> ddatetime.datetime(2018, 8, 29, 0, 0)>>> kl_timezone = timezone('Asia/Kuala_Lumpur')>>> d = kl_timezone.localize(d)>>> ddatetime.datetime(2018, 8, 29, 0, 0, tzinfo=<DstTzInfo 'Asia/Kuala_Lumpur' +08+8:00:00 STD>)>>> time.mktime(d.timetuple())1535500800.0>>> d.hour0蓝色矩形中突出显示的时间信息是吉隆坡时区。因此,我期待运行后d = kl_timezone.localize(d),d.hour将返回 8。这是因为给定 1535500800 时间戳,UTC 居民将其视为 12:00 am鉴于 1535500800 时间戳,吉隆坡居民将其视为上午 8:00但是,d.hour即使在我使用kl_timezone.localize(d).不是d.hour应该返回 8,因为在时间戳 1535500800,吉隆坡是上午 8:00?我有错误的期望timezone.localize吗?
添加回答
举报
0/150
提交
取消