为什么Convertingt EST datetime对象为UTC unix时间戳并返回EST增加5小时?

时间:2017-11-27 22:26:36

标签: python datetime timezone pytz

为什么在dt上调用以下2个函数会导致增加5个小时?我认为它会保持不变。

from datetime import datetime, time, timedelta
from pytz import timezone

def est_datetime_to_utc_timestamp(dt):
    dt_utc = dt.astimezone(timezone('UTC'))
    ts = int(dt_utc.strftime("%s"))
    return ts

def utc_timestamp_to_est_datetime(ts):
    dt = datetime.fromtimestamp(ts, timezone('UTC'))
    dt = dt.astimezone(timezone('America/New_York'))
    return dt

dt = timezone('America/New_York').localize(datetime(2017, 11, 27, 0, 0))

utc_timestamp_to_est_datetime(est_datetime_to_utc_timestamp(dt))

> datetime.datetime(2017, 11, 27, 5, 0, tzinfo=<DstTzInfo 'America/New_York' EST-1 day, 19:00:00 STD>)

0 个答案:

没有答案