gpt4 book ai didi

python-2.7 - python 的 time.time() 方法是如何工作的?

转载 作者:行者123 更新时间:2023-12-04 20:40:02 25 4
gpt4 key购买 nike

time.time() 方法为您提供时间戳,它基本上是自纪元(UTC)以来耗时。

datetime.fromtimestamp() 声明如果未提供 tz 参数,则返回本地日期时间对象。

我知道 tz 信息基本上被视为 utc 的偏移量,以便获得本地时间。

如果是这种情况,则必须从平台中提取 UTC 中的当前时间。

一天中的当前时间是如何从底层平台中提取的,无论是本地时间还是 UTC?

最佳答案

在(当前)CPython 中 time.time()电话
floattime(NULL) 其中调用
_PyTime_gettimeofday_info() 其中调用
pygettimeofday()
哪里 pygettimeofday() 可以使用 GetSystemTimeAsFileTime() , clock_gettime(CLOCK_REALTIME) , gettimeofday()功能取决于平台。

无关: time.time() returns "seconds since the epoch" .在 Python 支持的大多数系统(Linux、OS X、Windows)上,现在是 POSIX 时间。 POSIX timestamp不是自 1970-01-01T00:00:00Z 以来经过的 SI 秒数(时代)。虽然它非常接近(从 Epoch 算起在 0.000003% 以内)。它计算非跳跃 SI 秒数或 UT1(平均太阳)秒数。

UTC 不是相对于 TAI、GPS 时间刻度的线性时间刻度(参见 the picture)。由于闰秒(UTC 保持在 UT1(地球自转)的 ±0.9 秒内),您将无法获得精确的 SI 秒。另见,Is a day always 86,400 epoch seconds long?

某些操作系统可以配置为使用非 POSIX 的“正确”区域信息。 time.time()在这种情况下不需要返回 POSIX 时间戳。 “正确”时区计算闰秒,因此“正确”时间戳和 POSIX 时间戳之间的差异不是恒定的,例如,它会在 July 2015 due to the introduction of the positive leap second 中增加。 .

原则上,“时代”可能与 POSIX 时代不同,尽管 Python doesn't support such systems .

关于python-2.7 - python 的 time.time() 方法是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27830403/

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