读取为日期时间对象的字符串,带有3位数字(毫秒)

时间:2018-11-21 03:02:31

标签: python python-3.x datetime

我正在读取日期时间格式的字符串。但是,不是只有6位数字,而是只有3位末尾带有字母Z。如何读取此字符串并将其设置为日期时间对象,然后添加1天,然后以上述格式将其写为字符串,即3位数(毫秒)和字母Z(末尾)。我尝试了以下代码,但未成功:

old_date= "2018-06-06T23:59:59.999Z"
new_date = datetime.datetime.strptime(old_date, '%Y-%m-%d %H:%M:%S.%f%Z') + datetime.timedelta(days=1)
print(new_date)

1 个答案:

答案 0 :(得分:1)

您应该使用这种格式

datetime.datetime.strptime(old_date, '%Y-%m-%dT%H:%M:%S.%fZ')
Out[180]: datetime.datetime(2018, 6, 6, 23, 59, 59, 999000)

更新

dt1=datetime.datetime.strptime(old_date, '%Y-%m-%dT%H:%M:%S.%fZ')+datetime.timedelta(days=1)
dt1.strftime('%Y-%m-%d %H:%M:%S.%f')[:-3]+'Z'
Out[196]: '2018-06-07 23:59:59.999Z'