gpt4 book ai didi

python-3.x - 为什么在 MacOS 和 Ubuntu 上运行程序时感知时区的日期时间不同?

转载 作者:行者123 更新时间:2023-12-04 18:58:52 25 4
gpt4 key购买 nike

以下代码在 MacOS 和 Ubuntu(AWS Ubuntu 2.0 EC2 实例)上运行时会产生不同的结果

import datetime
import pytz
dt = datetime.datetime(year=2020, month=12, day=3, hour=8, minute=30)
dt_aware = dt.astimezone(pytz.timezone('Europe/Paris'))
print(dt_aware)
在 MacOS BigSur 11.6 上,它返回: 2020-12-03 00:30:00+01:00在 Ubuntu 2.0 上,它返回: 2020-12-03 09:30:00+01:00 .
在这两种情况下:
  • 使用 Python 3.8
  • 使用 pytz 版本 2020.4

  • 解释结果不同的原因是什么?

    编辑:我想将 '2020/12/03 08:30' 表示为巴黎的日期时间。所以我希望两者都返回 2020-12-03 08:30:00+01:00

    最佳答案

    这可能是因为 AWS 实例与您的 MacOS 机器不在同一时区。当您创建没有指定时区的 dateTime 时,它​​将使用基于您的机器/操作系统的默认时区。
    然后将其调整为欧洲巴黎,它会从默认时区更改为该时区。
    所以 AWS 实例可能是 UTC 并且与 Paris 仅相差一个,所以 8 变成了 9。
    您的 MacOS 可能位于美国某处(太平洋?),距 UTC 8 小时,距巴黎 9 小时。因此,当设置到巴黎时,最终会有 9 小时的总差异。

    关于python-3.x - 为什么在 MacOS 和 Ubuntu 上运行程序时感知时区的日期时间不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70493458/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com