【发布时间】:2016-04-15 07:07:03
【问题描述】:
这样的时间字符串:'Thu Nov 26 17:49:28 +0000 2015'。
需要转成UTC时间戳,试了网上找的几种方法,都不行。
转换它的正确方法是什么?谢谢。
【问题讨论】:
标签: python datetime python-3.x time timestamp
这样的时间字符串:'Thu Nov 26 17:49:28 +0000 2015'。
需要转成UTC时间戳,试了网上找的几种方法,都不行。
转换它的正确方法是什么?谢谢。
【问题讨论】:
标签: python datetime python-3.x time timestamp
使用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
【讨论】:
从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
【讨论】:
如果你喜欢 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
【讨论】: