繁体   English   中英

Python无法正确比较日期?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM