簡體   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