簡體   English   中英

ValueError:時間數據“2020-07-19 20:36:04”與格式“%y-%m-%d %H:%M:%S”不匹配

[英]ValueError: time data '2020-07-19 20:36:04' does not match format '%y-%m-%d %H:%M:%S'

我是 Python 的新手,我嘗試將格式為“ 2020-7 -19 20:36:04”的字符串轉換為 python 3.8 中的日期時間,代碼如下:

tempDate = '2020-7-19 20:36:04' datetime.strptime(tempDate, '%y-%m-%d %H:%M:%S')

我收到錯誤消息顯示,例如“無法將非零填充字符串轉換為日期時間”

所以我將日期時間字符串格式化為 2020- 07 -19 20:36:04 然后我在下面編碼:

tempDate = '2020-7-19 20:36:04'
dateAndTime = tempDate .split(' ')
ymd = dateAndTime[0].split('-')
month = ymd[1].zfill(2)
day = ymd[2].zfill(2)
tempDate = ymd[0] + '-' + month+ '-' + day + ' ' + dateAndTime[-1]
postDate = datetime.strptime(tempDate, '%y-%m-%d %H:%M:%S')

然后我得到了錯誤

File "C:\Python38\lib\_strptime.py", line 568, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
File "C:\Python38\lib\_strptime.py", line 349, in _strptime
raise ValueError("time data %r does not match format %r" %
ValueError: time data '2020-07-19 20:36:04' does not match format '%y-%m-%d %H:%M:%S'

我沒有很好的搜索技能...

tempDate = '2020-7-19 20:36:04'
dateAndTime = tempDate.split(' ')
ymd = dateAndTime[0].split('-')
month = ymd[1].zfill(2)
day = ymd[2].zfill(2)
tempDate = ymd[0] + '-' + month+ '-' + day + ' ' + dateAndTime[-1]
postDate = datetime.strptime(tempDate, '%Y-%m-%d %H:%M:%S')

您必須使用%Y而不是%y ,因為%y是最后兩位數,沒有像 00、01、02 這樣的世紀。

閱讀有關strptime更多信息:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM