Jas*_*n S 4 python time datetime epoch
我知道如何在C和Java中实现它,但我不知道将年/月/日/小时/分钟/秒转换为自1970年1月1日以来的秒数的快速方法.
有人能帮我吗?
到目前为止,我已经想出了如何创建一个datetime对象,但我似乎无法获得自纪元以来经过的#秒.
(编辑:我的问题与另一个问题相反:Python:从纪元到相对日期的秒数)
使用timetuple或utctimetuple方法获取时间元组并将其转换为使用时间戳time.mktime
>>> import datetime
>>> dt = datetime.datetime(2011, 12, 13, 10, 23)
>>> import time
>>> time.mktime(dt.timetuple())
1323793380.0
Run Code Online (Sandbox Code Playgroud)
有一个很好的错误http://bugs.python.org/issue2736,这是一个有趣的读取,任何试图转换为时间戳的人都应该读这个.根据那个线程正确的方法是
timestamp = (dt - datetime(1970, 1, 1)) / timedelta(seconds=1)
Run Code Online (Sandbox Code Playgroud)
您可以datetime.datetime(1970, 1, 1)用作参考并从datetime.timedelta对象中获取总秒数,如下所示:
from datetime import datetime
delta = your_date - datetime(1970, 1, 1)
delta.total_seconds()
Run Code Online (Sandbox Code Playgroud)