yer*_*syl 3 python date python-3.x
如何将ISO8601时间格式的字符串转换为python3 datetime.这是我的时间:
2017-03-03T11:30:00+04:00Run Code Online (Sandbox Code Playgroud)
我尝试的方式:
datetime.strptime(appointment['datetime'], '%Y-%m-%dT%H:%M:%S%z')Run Code Online (Sandbox Code Playgroud)
这里的问题是,我不知道如何在.strptime方法的格式参数中表示+4:00时区.
请注意,%z在python datetime中不包含冒号:
%z:格式为+ HHMM或-HHMM的UTC偏移量(如果对象天真,则为空字符串)例如+ 0000,-0400,+ 1030
但是,示例中的日期字符串确实有冒号,例如+04:00.只是不包括该冒号,你可以解析日期.
>>> s = "2017-03-03T11:30:00+04:00"
>>> datetime.strptime(s[:len(s)-3] + s[len(s)-2:], '%Y-%m-%dT%H:%M:%S%z')
datetime.datetime(2017, 3, 3, 11, 30, tzinfo=datetime.timezone(datetime.timedelta(0, 14400)))
Run Code Online (Sandbox Code Playgroud)
我建议你使用这个功能强大的库python-dateutil:
>>> from dateutil import parser
>>> parser.parse("2017-03-03T11:30:00+04:00")
datetime.datetime(2017, 3, 3, 11, 30, tzinfo=tzoffset(None, 14400))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2154 次 |
| 最近记录: |