我有一堆日期时间对象,我想计算每个对象自过去固定时间以来的秒数(例如自 1970 年 1 月 1 日以来)。
import datetime
t = datetime.datetime(2009, 10, 21, 0, 0)
这似乎只是区分具有不同日期的日期:
t.toordinal()
一个人如何转换datetime
反对秒?
对于 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
具有适当偏移量的类。
正如评论中所述,如果您有tzinfo
附加到你的datetime
那么您在开始日期也需要一个,否则减法将失败;对于上面的例子我会添加tzinfo=pytz.utc
如果使用 Python 2 或tzinfo=timezone.utc
如果使用Python 3。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)