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

2024-04-18 04:26:53 发布

您现在位置:Python中文网/ 问答频道 /正文

一个人怎样才能把06-09-202015u59m04s变成2020/09/06 15:59:04

这是我的代码:

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'

Tags: 代码formatdatadatetimedateobjecttimemy
3条回答

您需要始终确保desired date formatyour required format匹配


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

正如您的错误所说,您给出的内容与格式不匹配-%d-%m-%YT%H:%M:%S-意味着您期望在年后:字母Thourminutes:seconds当示例中显示它是houruminutesmsecondss而没有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
>>> 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'

相关问题 更多 >