目前,我試圖了解如何timezone.localize工作。天真的日期時(shí)間(沒(méi)有時(shí)區(qū)信息)現(xiàn)在,我嘗試創(chuàng)建一個(gè)簡(jiǎn)單的日期時(shí)間(沒(méi)有時(shí)區(qū)信息)。我認(rèn)為一切都會(huì)尊重UTC>>> d = datetime.datetime.fromtimestamp(1535500800)>>> ddatetime.datetime(2018, 8, 29, 0, 0)>>> time.mktime(d.timetuple())1535500800.0>>> d.hour0一切似乎都很好。現(xiàn)在,我想嘗試timezone.localize使用 timezone.localize 帶時(shí)區(qū)的日期時(shí)間>>> 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藍(lán)色矩形中突出顯示的時(shí)間信息是吉隆坡時(shí)區(qū)。因此,我期待運(yùn)行后d = kl_timezone.localize(d),d.hour將返回 8。這是因?yàn)榻o定 1535500800 時(shí)間戳,UTC 居民將其視為 12:00 am鑒于 1535500800 時(shí)間戳,吉隆坡居民將其視為上午 8:00但是,d.hour即使在我使用kl_timezone.localize(d).不是d.hour應(yīng)該返回 8,因?yàn)樵跁r(shí)間戳 1535500800,吉隆坡是上午 8:00?我有錯(cuò)誤的期望timezone.localize嗎?
添加回答
舉報(bào)
0/150
提交
取消