将日期时间格式转换为秒数

11

我的日期格式为DD/MM/YYYY HH:MM:SS,例如16/08/2013 09:51:43。我该如何使用total_seconds()或其他Python函数将日期转换为Python秒?


"Python秒"是什么意思?你是指Unix时间戳吗? - Wolph
3个回答

23

以下是您可以实现的方法:

>>> 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时间戳


11
>>> tt = datetime.datetime( 2013, 8, 15, 6, 0, 0 )
>>> print int(tt.strftime('%s'))
1376535600

10

从何时开始算秒数?

以下代码用于计算通用的秒数:

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()

2
如果mytime是本地时间,则可以使用datetime.fromtimestamp(0)来获取since值。 - jfs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接