如何准确地将Python日期时间对象转换为纪元时间戳?

Susan Sarandon
发布: 2024-11-17 09:34:03
原创
489 人浏览过

How to Accurately Convert Python Datetime Objects to Epoch Timestamps?

使用 strftime 将 Python 日期时间转换为纪元

使用 strftime('% 将 Python 日期时间对象转换为纪元以来的秒数时s') 格式,您可能会遇到意想不到的结果。您可能会得到一个相差一小时的值,而不是距纪元的正确秒数。这是因为 strftime 会考虑系统时区并应用时区转换。

解决方案:

要避免此问题并获取正确的纪元时间戳,有多种选项可用:

Python 3.3 和稍后:

  • 使用 timestamp() 方法:

    >>> datetime.datetime(2012, 4, 1, 0, 0).timestamp()
    1333234800.0
    登录后复制

Python 3.2 或更早版本:

  • 执行转换明确:

    >>> (datetime.datetime(2012, 4, 1, 0, 0) - datetime.datetime(1970, 1, 1)).total_seconds()
    1333238400.0
    登录后复制

避免使用 strftime('%s'):

需要注意的是,%s 不受官方支持通过Python的strftime函数。其功能取决于系统的 strftime 实现,该实现可能因不同平台而异并引入时区差异。因此,建议使用上述方法进行准确的纪元时间戳转换。

以上是如何准确地将Python日期时间对象转换为纪元时间戳?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板