【问题标题】:Convert datetime format into seconds [duplicate]将日期时间格式转换为秒[重复]
【发布时间】:2013-08-18 15:47:17
【问题描述】:

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

【问题讨论】:

  • 什么是“python 秒”,你的意思是 unix 时间戳吗?

标签: python datetime


【解决方案1】:

你可以这样做:

>>> 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 Create unix timestamp five minutes in the future。

【讨论】:

    【解决方案2】:
    >>> tt = datetime.datetime( 2013, 8, 15, 6, 0, 0 )
    >>> print int(tt.strftime('%s'))
    1376535600
    

    【讨论】:

      【解决方案3】:

      从什么时候开始的几秒钟?

      查看此代码以了解一般的第二次计算:

      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 值。
      猜你喜欢
      • 2013-06-08
      • 2019-07-04
      • 2017-12-21
      • 2018-09-29
      • 1970-01-01
      • 2014-01-29
      • 1970-01-01
      • 2017-06-05
      • 1970-01-01
      相关资源
      最近更新 更多