首页 > 解决方案 > Python - 将时间 ISO 8601 STRING 转换为 13 位 TIMESTAMP (MS),反之亦然

问题描述

没有在 python 中快速弄清楚如何将时间ISO 8601字符串(带 MS)转换为 13 位TIMESTAMP(MS),反之亦然。有人可能对此有专家吗?

'2017-11-01T08:11:44.040Z' to '1509523904040' 

'1509523904040' to '2017-11-01T08:11:44.040Z'

标签: pythoniso8601

解决方案


这应该会有所帮助。

import datetime
s = '2017-11-01T08:11:44.040Z'
#Convert datetime to epoch.
value = (datetime.datetime.strptime(s, "%Y-%m-%dT%H:%M:%S.%fZ") - datetime.datetime(1970,1,1)).total_seconds()
print( value )
#Convert epoch to datetime. 
print( datetime.datetime.fromtimestamp(value) )

输出:

1509523904.04
2017-11-01 13:41:44.040000

推荐阅读