gpt4 book ai didi

python - 在 Python 中,如何将 `datetime` 对象转换为秒?

转载 作者:IT老高 更新时间:2023-10-28 12:16:37 27 4
gpt4 key购买 nike

为这个简单的问题道歉...我是 Python 新手...我四处搜索,似乎没有任何效果。

我有一堆 datetime 对象,我想为每个对象计算自过去固定时间以来的秒数(例如自 1970 年 1 月 1 日以来)。

import datetime
t = datetime.datetime(2009, 10, 21, 0, 0)

这似乎只是区分不同日期的日期:

t.toordinal()

非常感谢任何帮助。

最佳答案

对于 1970 年 1 月 1 日这一特殊日期,有多种选择。

对于任何其他开始日期,您需要以秒为单位获取两个日期之间的差异。减去两个日期得到一个 timedelta 对象,从 Python 2.7 开始,该对象具有 total_seconds() 函数。

>>> (t-datetime.datetime(1970,1,1)).total_seconds()
1256083200.0

开始日期通常以 UTC 格式指定,因此为了获得正确的结果,您输入此公式的 datetime 也应采用 UTC 格式。如果您的 datetime 不是 UTC,则需要在使用之前对其进行转换,或者附加一个具有适当偏移量的 tzinfo 类。

如评论中所述,如果您的 datetime 附加了一个 tzinfo,那么您在开始日期也需要一个,否则减法将失败;对于上面的示例,如果使用 Python 2,我将添加 tzinfo=pytz.utc,如果使用 Python 3,我将添加 tzinfo=timezone.utc

关于python - 在 Python 中,如何将 `datetime` 对象转换为秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7852855/

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