gpt4 book ai didi

python - 为什么 datetime.datetime.now().timestamp() 和 datetime.datetime.utcnow().timestamp() 之间存在差异?

转载 作者:行者123 更新时间:2023-11-28 18:13:39 34 4
gpt4 key购买 nike

据我所知,自 Unix 纪元(1970-01-01 00:00:00 UTC)以来的秒数在全局各地应该是相同的,因为它固定为 UTC。

现在,如果您所在的时区有几个小时 +/- UTC,为什么这样做会得到不同的时间戳(在我的情况下为 +2 小时)

>>> datetime.datetime.utcnow().timestamp()
1523622844.637763
>>> datetime.datetime.now().timestamp()
1523630048.558158

如果考虑到我运行第二行代码所花费的时间,您会得出两个时间戳之间存在 7200 秒(2 小时)差异的结论。这些时间戳不应该是时区未知的吗?

最佳答案

来自docs :

  • datetime.now():返回当前的本地日期和时间。
  • datetime.utcnow():返回当前 UTC 日期和时间 [...]。这类似于 now(),但返回当前 UTC 日期和时间,作为一个简单的 datetime

举个例子:

偏移

In [1]: datetime.datetime.now()
Out[1]: datetime.datetime(2018, 4, 13, 17, 8, 4, 457551)

In [2]: datetime.datetime.utcnow()
Out[2]: datetime.datetime(2018, 4, 13, 15, 8, 5, 385598)

没有偏移

In [3]: datetime.datetime.now(tz=pytz.utc)
Out[3]: datetime.datetime(2018, 4, 13, 15, 8, 59, 590874, tzinfo=<UTC>)

In [4]: datetime.datetime.utcnow()
Out[4]: datetime.datetime(2018, 4, 13, 15, 9, 1, 494370)

关于python - 为什么 datetime.datetime.now().timestamp() 和 datetime.datetime.utcnow().timestamp() 之间存在差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49819691/

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