为什么我可以在不同的机器上的 Python 中获得不同的时间戳?
时间戳是时间线上某一点和纪元之间的偏移值,它与时区无关。当它被转换为人类可读的字符串(如 '%Y-%m-%d %H:%M:%S')时,其中不包含任何时区信息,Python 假设您要使用本地时区设置。
datetime.timestamp() 在一个原始的 datetime 对象上内部调用 mktime(),即输入被解释为本地时间。本地时间的定义可能因系统而异。
如果本地时区在过去有不同的 UTC 偏移量,并且未使用历史时区数据库,则 C mktime() 可能返回错误的结果。
在 Unix 上,当我们调用 timestamp() 时,解释器使用 UNIX 系统上可用的 tz 数据库来获取时区信息。Windows 上则没有此数据库。
广告