我有以下日期字符串:2019-05-12T14:52:13.136621898Z
我一生都无法确定格式。对我来说最接近的datetime
格式字符串是:
%Y-%m-%dT%H:%M:%S.%fZ
我已经搜索了StackOverflow,Google和Python文档。
答案 0 :(得分:2)
对于此类问题,值得关注的是datetime
模块和parser.parse
函数,该函数可以解析任何日期时间字符串,而无需提供格式!
from dateutil import parser
dt_obj = parser.parse('2019-05-12T14:52:13.136621898Z')
print(dt_obj)
最符合您要求的格式是'%Y-%m-%dT%H:%M:%S.%fZ'
,它与2019-05-12T14:52:13.136621Z
一起使用,其中'。%f`封装了具有6个小数位的微秒,但是由于您的小数有9个小数位,因此不会为您工作!
答案 1 :(得分:0)
该格式称为“往返格式”,Python没有格式说明符,例如.NET具有o
format specifier。因此,制作格式字符串可能会有点困难:
%f
应该可以。Z
,因为那是时区。 Z
仅适用于UTC,但将忽略所有其他时区。时区格式说明符为%z
datetime说:
utcoffset()转换为形式为±HHMM [SS [.ffffff]]的字符串,其中HH是2位数字字符串,给出了UTC偏移小时数,MM是2位数字字符串,给出了数字在UTC偏移分钟数中,SS是2位数字的字符串,给出了UTC偏移秒数,而ffffff是6位数字的字符串,给出了UTC偏移秒数。当偏移量为整数秒数时,将省略ffffff部分;而当偏移量为整数分钟数时,将省略ffffff和SS部分。例如,如果utcoffset()返回timedelta(hours = -3,minutes = -30),则%z将替换为字符串'-0330'
和
例如,“ + 01:00:00”将被解析为一个小时的偏移量。此外,提供“ Z”与“ +00:00”相同