'Unknown' 以纪元转换时的时间戳格式
'Unknown' timestamp format while converting in epoch
我想将此“2018-03-15T05:13:24.000-0400”日期时间格式转换为纪元时间格式。转换时出现时间格式错误。请帮我解决这个问题。
这是我的 python 代码:
import time
start='2018-03-15T05:13:24.000-0400'
start1 = str(start)
start_date = int(time.mktime(time.strptime(start1,'%Y-%m-%d %H:%M:%S')))*1000
print(start_date)
预期输出:
1521105204000
谢谢:)
首先,您的 strptime
format 必须实际匹配您传递给它的字符串。让我们分解一下:
2018
, 4 位数年份: %Y
-
,文字连字符:-
03
,2 位数月份:%m
-
,文字连字符:-
15
, 2 位数日: %d
T
、ISO-style date/time 分隔符:T
(不是您格式中的 space)
05
,2 位数小时:%H
:
,直译冒号::
13
,2 位数分钟:%M
:
,直译冒号::
24
, 2 位数秒: %S
.
,字面点:.
000
,3位毫秒,可以解析为3位微秒,稍后修正:%f
-0400
,5 个字符的 UTC 偏移量,%z
接下来,由于某些原因使用time
模块而不是datetime
,并且使用不支持sub-second次的struct_tm
类型,然后无论如何截断为 int
,即使您显然想要毫秒,但 %f
微秒值最终将被忽略,因此您甚至不必修复它。
所以只要把这个字符串放在一起,就大功告成了。
我想将此“2018-03-15T05:13:24.000-0400”日期时间格式转换为纪元时间格式。转换时出现时间格式错误。请帮我解决这个问题。
这是我的 python 代码:
import time
start='2018-03-15T05:13:24.000-0400'
start1 = str(start)
start_date = int(time.mktime(time.strptime(start1,'%Y-%m-%d %H:%M:%S')))*1000
print(start_date)
预期输出:
1521105204000
谢谢:)
首先,您的 strptime
format 必须实际匹配您传递给它的字符串。让我们分解一下:
2018
, 4 位数年份:%Y
-
,文字连字符:-
03
,2 位数月份:%m
-
,文字连字符:-
15
, 2 位数日:%d
T
、ISO-style date/time 分隔符:T
(不是您格式中的 space)05
,2 位数小时:%H
:
,直译冒号::
13
,2 位数分钟:%M
:
,直译冒号::
24
, 2 位数秒:%S
.
,字面点:.
000
,3位毫秒,可以解析为3位微秒,稍后修正:%f
-0400
,5 个字符的 UTC 偏移量,%z
接下来,由于某些原因使用time
模块而不是datetime
,并且使用不支持sub-second次的struct_tm
类型,然后无论如何截断为 int
,即使您显然想要毫秒,但 %f
微秒值最终将被忽略,因此您甚至不必修复它。
所以只要把这个字符串放在一起,就大功告成了。