开发者社区> 问答> 正文

我如何匹配时间数据' 01/27/1998'到'%d/%m/%y'之间的格式?

我只是想显示我的生日(年月日)。 然后是ValueError 如“时间数据%r不匹配格式%r”%和 "时间数据' 01/27/1998'与格式'%d/%m/%y'不匹配" 这是我的代码

from datetime import datetime, timedelta

birthday = input('When is your birthday (dd/mm/yyyy)?')

birthday_date = datetime.strptime(birthday, "%d/%m/%y")

print('Birthday : ' + str(birthday_date))

one_day = timedelta(days=1)
birthday_eve = birthday_date - one_day
print('Day before birthday : ' + str(birthday_eve))

这是错误的细节

When is your birthday (dd/mm/yyyy)? 01/27/1998
Traceback (most recent call last):
  File "010-input_date.py", line 5, in <module>
    birthday_date = datetime.strptime(birthday, "%d/%m/%y")
  File 
"C:\Users\Kohei\AppData\Local\Programs\Python\Python38\lib\_strptime.py", 
line 568,
in _strptime_datetime
    tt, fraction, gmtoff_fraction = _strptime(data_string, format)
  File 
"C:\Users\Kohei\AppData\Local\Programs\Python\Python38\lib\_strptime.py", 
line 349,
in _strptime
    raise ValueError("time data %r does not match format %r" %
ValueError: time data ' 01/27/1998' does not match format '%d/%m/%y'

问题来源StackOverflow 地址:/questions/59386288/how-do-i-have-to-match-the-format-between-time-data-01-27-1998-to-d-m-y

展开
收起
kun坤 2019-12-25 22:05:22 592 0
1 条回答
写回答
取消 提交回答
  • 它必须是'%d/%m/%Y',所以替换以下行:

    birthday_date = datetime.strptime(birthday, "%d/%m/%y")
    

    :

    birthday_date = datetime.strptime(birthday, "%d/%m/%Y")
    
    2019-12-25 22:05:27
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载