我想将一个朴素的日期时间转换成一个在美国/山区本地化的非朴素的日期时间。事实证明,它只是给了我一个非简单的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
这个接收到的输出实际上是我在阿根廷本地化的本地日期时间
发布于 2019-07-05 12:25:32
localize认为时间是正确的,只是缺少时区信息。这就是为什么它实际上不会改变时间。
您需要的是astimezone,它提供相同的时间点,并转换为所选的时区:
mtn_datetime = naive_datetime.astimezone(mtn_timezone)https://stackoverflow.com/questions/56896452
复制相似问题