Python 从用户处获取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

我试图获得用户输入的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 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')