我想将原始日期时间转换为本地化在美国/山地的非原始日期时间。事实证明,它只是给我一个非幼稚的datetime.datetime.now(),在datetime结束时带有-06:00。
naive_datetime = datetime.datetime.now() # Naive datetime
mtn_timezone = pytz.timezone("US/Mountain")
naive_datetime = mtn_timezone.localize(naive_datetime)
print(naive_datetime)
预期的输出(美国/山地日期和时间): 2019-07-04 22:05:04.644687-06:00
收到的输出: 2019-07-05 01:05:04.644487-06:00
收到的输出实际上是我在阿根廷本地化的本地日期时间
答案 0 :(得分:0)
localize
认为时间正确,只是缺少时区信息。这就是为什么它实际上不改变时间的原因。
您希望将astimezone
转换为您选择的时区,以提供相同的时刻:
mtn_datetime = naive_datetime.astimezone(mtn_timezone)