【问题标题】:How to convert time to timestamp?如何将时间转换为时间戳?
【发布时间】:2016-04-15 07:07:03
【问题描述】:

这样的时间字符串:'Thu Nov 26 17:49:28 +0000 2015'

需要转成UTC时间戳,试了网上找的几种方法,都不行。

转换它的正确方法是什么?谢谢。

【问题讨论】:

标签: python datetime python-3.x time timestamp


【解决方案1】:

使用datetime.datetime.strptime() 和正确的格式说明符,然后使用timestamp() 方法:

>>> import datetime
>>> d = 'Thu Nov 26 17:49:28 +0000 2015'
>>> datetime.datetime.strptime(d, '%a %b %d %H:%M:%S %z %Y').timestamp()
1448560168.0

【讨论】:

  • 哇,好简单!谢谢!
【解决方案2】:

rfc 5322 date-time string 获取“自纪元以来的秒数”(如电子邮件中的Date 标头):

>>> from email.utils import parsedate_tz, mktime_tz
>>> mktime_tz(parsedate_tz('Thu Nov 26 17:49:28 +0000 2015'))
1448560168

【讨论】:

    【解决方案3】:

    如果你喜欢 Pandas,这很简单

    In [32]: import pandas as pd
    # Construct date time index
    In [33]: dt_index = pd.DatetimeIndex(['Thu Nov 26 17:49:28 +0000 2015'])
    # Get the epoch timestamp in seconds
    In [35]: dt_index.astype('int64')/1e9
    Out[35]: array([  1.44856017e+09])
    
    In [36]: dt_index.astype('int64')[0]/1e9
    Out[36]: 1448560168.0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-20
      • 2019-10-07
      • 1970-01-01
      • 1970-01-01
      • 2013-04-07
      相关资源
      最近更新 更多