为何我在不同的机器上的 Python 中获取不同的时间戳?


时间戳是时间线上的一个点和一个特定时间的偏移值,与时区无关。当它被转换成一个可读字符串,如“%Y-%m-%d %H:%M:%S”,其中不包括任何时区信息,Python 会假定你想要使用本地时区设置。

对一个原始的日期时间对象调用 datetime.timestamp() 会在内部调用 mktime(),即输入被解释为本地时间。本地时间的定义可能会因系统而异。

C mktime() 可能会返回一个错误的结果,如果本地时区在过去与 UTC 的偏移值不同,并且没有使用历史时区数据库。

在 Unix 上,当我们调用 timestamp(),解释器会使用 UNIX 系统中可用的时区数据库获取时区信息。而 Windows 上则没有这个数据库。

更新于: 2019 年 7 月 30 日

156 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始
广告