Python没有正确比较日期?

2024-04-19 10:42:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着比较几个日期:

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将它们转换为日期格式。这个日期列表.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。我的代码有问题吗?还是我使用了错误的函数?你知道吗


Tags: csvinforiftimerequestlineargs
1条回答
网友
1楼 · 发布于 2024-04-19 10:42:55

影响你的价值观。你知道吗

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())

你的循环通过“预订”,我在你的代码里没有看到。是不是搞错了?你知道吗

相关问题 更多 >