我的日期格式为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
还可以参考Python创建未来五分钟的Unix时间戳。
>>> 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来表示时间戳(感谢J.F.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
值。 - jfs