如何将Python datetime对象转换为秒

问题:

对于简单的问题抱歉…我是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,那么在开始日期还需要一个tzinfo,否则减法将失败;对于上面的例子,如果使用Python 2或tzinfo=timezone.utc,如果使用Python 3,我将添加tzinfo=pytz.utc

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How to convert a Python datetime object to seconds

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

53 + = 56