【发布时间】:2013-08-18 15:47:17
【问题描述】:
我的日期格式为DD/MM/YYYY HH:MM:SS,即16/08/2013 09:51:43。如何使用total_seconds() 或使用任何其他 python 函数将日期转换为 python 秒?
【问题讨论】:
-
什么是“python 秒”,你的意思是 unix 时间戳吗?
我的日期格式为DD/MM/YYYY HH:MM:SS,即16/08/2013 09:51:43。如何使用total_seconds() 或使用任何其他 python 函数将日期转换为 python 秒?
【问题讨论】:
你可以这样做:
>>> from datetime import datetime
>>> import time
>>> s = "16/08/2013 09:51:43"
>>> d = datetime.strptime(s, "%d/%m/%Y %H:%M:%S")
>>> time.mktime(d.timetuple())
1376632303.0
【讨论】:
>>> tt = datetime.datetime( 2013, 8, 15, 6, 0, 0 )
>>> print int(tt.strftime('%s'))
1376535600
【讨论】:
从什么时候开始的几秒钟?
查看此代码以了解一般的第二次计算:
from datetime import datetime
since = datetime( 1970, 8, 15, 6, 0, 0 )
mytime = datetime( 2013, 6, 11, 6, 0, 0 )
diff_seconds = (mytime-since).total_seconds()
更新:如果您需要 unix 时间戳(即自 1970-01-01 以来的秒数),您可以使用语言默认值 0 的时间戳(感谢 JF Sebastian 的评论):
from datetime import datetime
mytime = datetime( 2013, 6, 11, 6, 0, 0 )
diff_seconds = (mytime-datetime.fromtimestamp(0)).total_seconds()
【讨论】:
mytime 是当地时间,那么您可以使用datetime.fromtimestamp(0) 获取since 值。