Python 从用户处获取2个不同的日期输入
我试图获得用户输入的2个不同的日期,我将传递到另一个功能Python 从用户处获取2个不同的日期输入,python,datetime,Python,Datetime,我试图获得用户输入的2个不同的日期,我将传递到另一个功能 def twodifferentdates(): print("Data between 2 different dates") start_date = datetime.strptime(input('Enter Start Date in m/d/y format'), '%m&d&Y') end_date = datetime.strptime(input('Enter end date i
def twodifferentdates():
print("Data between 2 different dates")
start_date = datetime.strptime(input('Enter Start Date in m/d/y format'), '%m&d&Y')
end_date = datetime.strptime(input('Enter end date in m/d/y format'), '%m&d&Y')
print(start_date)
twodifferentdates()
我已经尝试了很多不同的方法来输入日期,但我一直都在尝试
ValueError:时间数据'01/11/1987'与格式'%m&d&Y'不匹配
我使用了与中讨论的相同的代码:
如有任何帮助,我们将不胜感激。将
%m&d&Y
替换为参考文章中所述的%m/%d/%Y
。datetime.strtime()
要求您逐个字符指定要输入日期的格式。对于字符串'01/11/1987'
,您可以这样做
datetime.strptime(..., '%m/%d/%Y')
其中,%m
为“两位数月”;%d
为“两位数日”;%Y
为“四位数年”(而不是两位数年%Y
。这些值用斜线分隔
另请参见。我对datetime模块不是很有经验,但错误似乎是您获取输入的方式。您应该这样对待它:
start_date = datetime.strptime(input('Enter Start Date in m/d/y format'), '%m &d &Y')
或
这是因为格式是
%m/%d/%Y
更改仍然会给我相同的错误:更改后的代码如下:start_date=datetime.strtime(输入('Enter start date in m/d/Y format'),'%m/&d/&Y')end_date=datetime.strtime(输入('Enter end date in m/d/Y format'),'%m/&d/&Y'))%
和&
不是同一个字符。当您应该使用%
时,您正在使用&
。尤其是,&
对日期时间
没有任何意义。
start_date = datetime.strptime(input('Enter Start Date in m/d/y format'), '%m/&d/&Y')