【发布时间】:2018-06-25 15:37:11
【问题描述】:
我正在尝试将时间戳转换为 unix 时间。
时间戳如下所示:
2018-01-16T20:26:16.35
所以现在我使用这个代码:
timestamp = '2018-01-16T20:26:16.35'
ts = timestamp.replace("T", " ")
tsUnix = time.mktime(datetime.datetime.strptime(ts, "%Y-%m-%d %H:%M:%S.%f").timetuple())
有时,从中获取时间戳的 api 会给我时间没有毫秒。
这将导致错误“与格式不匹配”。 (呃,%f 不在里面)
我是否需要编写一个变通方案或是否有此功能?有没有更好的方法从原始时间码中去除“T”?
【问题讨论】:
-
使用
try/except块。尝试以毫秒为单位的格式,捕获异常并尝试没有的格式。 -
我认为你不需要去掉“T”。您可以像这样简单地在模式中指定“T”:
tsUnix = time.mktime(datetime.datetime.strptime(timestamp, "%Y-%m-%dT%H:%M:%S.%f").timetuple()) -
感谢使用 'T' 也有效 :)
标签: python python-3.x timestamp unix-timestamp