utc 字符串到 unix 时间的转换 python

utc string to unix time conversion python

我有一个以字符串格式存储的 UTC 时间戳列表,如下所示:

'20170124T1815'

python中是否有函数可以将这些字符串转换为unix时间?我试过:

dt = datetime.datetime.utcnow()
calendar.timegm(dt.utctimetuple())
(datetime.datetime.utcnow('20170127T2131').strftime('%Y-%m-%d %H:%M:%S'))

但是这些函数对我不起作用,因为这些函数并不需要参数。

您需要将字符串“20170124T1815”转换为日期时间实例:

import datetime

dt = datetime.datetime.strptime('20170124T1815', '%Y%m%dT%H%M')

然后用timestamp()方法转换成UNIX时间:

ut = dt.timestamp()
# -> 1485281700.0

documentation:

datetime.timestamp()

Return POSIX timestamp corresponding to the datetime instance. The return value is a float similar to that returned by time.time().

编辑

对于 Python 版本 < 3.3,您可以使用:

ut = (dt - datetime.datetime(1970, 1, 1)).total_seconds()

或者,您可以使用:

import time

ut = time.mktime(dt.timetuple())

感谢 Peter DeGlopper