[英]Python not comparing dates correctly?
我正在尝试比较一些日期:
date1 = request.args['date1']
date2 = request.args['date2']
datesList = readFile('list.csv')
time.strptime(date1, "%d/%m/%Y")
time.strptime(date2, "%d/%m/%Y")
between = 0
for line in datesList:
time.strptime(line[0], "%d/%m/%Y")
time.strptime(line[1], "%d/%m/%Y")
if line[0] <= date1 <= line[1]:
between = 1
if line[0] <= date2 <= line[1]:
between = 2
if date1 <= line[1] <= date2:
between = 5
return render_template('index.html', vari = between)
我要求使用GET方法输入两个日期,然后使用strptime
将它们转换为日期格式。 dateList.csv如下所示:
17/11/2015,25/11/2015
1/11/2015,23/11/2015
17/12/2015,6/01/2016
28/10/2015,5/11/2015
如果我输入日期,例如04/05/2016和06/05/2016,它仍会between = 5
返回。 我的代码有问题吗?或者我使用的是错误的函数?
重新体现您的价值观。
date1 = time.strptime(date1, "%d/%m/%Y")
date2 = time.strptime(date2, "%d/%m/%Y")
between = 0
for line in bookings:
date1 = time.strptime(line[0], "%d/%m/%Y")
date2 = time.strptime(line[1], "%d/%m/%Y")
if line[0] <= date1 <= line[1]:
between = 1
if line[0] <= date2 <= line[1]:
between = 2
if date1 <= line[1] <= date2:
between = 5
return render_template('index.html', vari = between)
将它们转换为时间戳,然后如果仍然无法使用,可以将它们作为一个数字进行比较。
time.mktime(datetime.datetime.strptime(date, format).timetuple())
而且您的循环经过“预订”,而我在您的代码中看不到它。 错了吗
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.