【发布时间】:2017-01-06 15:26:17
【问题描述】:
我有一个字符串:
t = "2017-01-05T14:23:33.986-0500"
我需要将其转换为 Python 日期。
我用过:
t_obj = datetime.strptime(t, '%Y-%m-%dT%H:%M:%S.%f')
我认为它在 YYYY-MM-DD 中,时间为 HH:MM:SS.sss ,但我无法弄清楚 -0500 可能是什么......它可以为 UTC 减去 -5 小时吗?
任何帮助将不胜感激
【问题讨论】:
-
如果我的回答解决了您的问题,那么您可以接受,我的回答左上角会出现一个空勾
-
t 打印到 2017-01-09T14:01:37.347-0500 并且当我尝试 t_obj = datetime.datetime.strptime(t, '%Y-%m-%dT%H:% M:%S.%f%z') ...我收到如下错误指令错误 ....Traceback(最近一次调用最后):文件“main.py”,第 11 行,在 t_obj = datetime.datetime .strptime(t, '%Y-%m-%dT%H:%M:%S.%f%z') 文件“/usr/lib64/python2.7/_strptime.py”,第 317 行,在 _strptime (bad_directive, format)) ValueError: 'z' is a bad directive in format '%Y-%m-%dT%H:%M:%S.%f%z'
-
如果我尝试 t="2017-01-05T14:23:33.986-0500" dt.datetime.strptime(t, '%Y-%m-%dT%H:%M:% S.%f%z')..然后我收到以下错误..回溯(最近一次调用最后):文件“main.py”,第 9 行,在 dt.datetime.strptime(t, '%Y -%m-%dT%H:%M:%S.%f%z') NameError: name 'dt' is not defined....
-
这对我有用,但我运行的是 python 3.4,它应该像你运行 python 2.7 一样工作,你能升级吗?
-
不,我无法升级......如果我尝试以下代码......import datetime as dt dt=dt.datetime.strptime("2017 -01-05T14:23:33.986", "%Y-%m-%dT%H:%M:%S.%f") 打印 dt....... .........它有效,但如果我尝试 import datetime as dt dt=dt.datetime.strptime("2017-01-05T14:23:33.986-0500", "%Y-%m-% dT%H:%M:%S.%f%z") print dt....它给出了 z bad 指令错误......
标签: python