繁体   English   中英

如何在python中更改日期时间格式?

[英]How to change a datetime format in python?

如何从 06-09-202015u59m04s 中制作2020/09/06 15:59:04 06-09-202015u59m04s

这是我的代码:

my_time = '06-09-202014u59m04s'
date_object = datetime.datetime.strptime(my_time, '%d-%m-%YT%H:%M:%S')
print(date_object)

这是我收到的错误:

ValueError: time data '06-09-202014u59m04s' does not match format '%d-%m-%YT%H:%M:%S'
>>> from datetime import datetime
>>> my_time = '06-09-202014u59m04s'
>>> dt_obj = datetime.strptime(my_time,'%d-%m-%Y%Hu%Mm%Ss')

现在您需要进行一些格式更改才能获得答案,因为 datetime 对象始终使用:打印自己,因此您可以执行以下任何一项操作:

使用strftime获取新格式:

>>> dt_obj.strftime('%Y/%m/%d %H:%M:%S')
'2020/09/06 14:59:04'  

或者您可以通过将 datetime 对象转换为str来简单地使用.replace()

>>> str(dt_obj).replace('-','/')
'2020/09/06 14:59:04'

正如您的错误所说,您提供的内容与格式不匹配 - %d-%m-%YT%H:%M:%S - 表示您期待年后:字母 T hourminutesseconds ,例如显示它是hour u minutes m seconds s 没有 T,所以你应该这样做:

import datetime
my_time = '06-09-202014u59m04s'
date_object = datetime.datetime.strptime(my_time, '%d-%m-%Y%Hu%Mm%Ss')
print(date_object)

输出:

2020-09-06 14:59:04

您需要始终确保所需的日期格式与您所需的格式相匹配。

from datetime import datetime

date_object = datetime.strptime("06-09-202015u59m04s", '%d-%m-%Y%Hu%Mm%Ss')
print(date_object.strftime('%Y/%m/%d %H:%M:%S'))

输出

2020/09/06 15:59:04

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM