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
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
我有一个以字符串格式存储的 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
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