首页 > 解决方案 > 如何检查元组之间的日期,日期为开始和结束

问题描述

我有一个函数,它可以创建一个字典,如下所示。

x = {'filename': {'filetype': ('5/6/2019', '12/31/2019')}, 'filename2': {'filetype': ('3/24/2018', '5/6/2019')}}

我需要通过传递日期及其类型来创建一个新函数,以根据元组日期返回文件名。

def fn(date, filetype):
    I'm trying to pass a date as a first argument
    and the date should check if it is in between  the tuple as start and end dates
    in the dictionary values above If it is in between those dates I need to return the file name

    return filename

问题:

是否可以检查元组的中间日期?

标签: pythonpython-3.xdatetimetuples

解决方案


您应该转换为日期时间对象:

from datetime import datetime
x = {'filename': {'filetype': ('5/6/2019', '12/31/2019')}, 'filename2': {'filetype': ('3/24/2018', '5/6/2019')}}

def fn(dateobj, filetype):
    dateobj = datetime.strptime(dateobj, '%m/%d/%Y')
    startdate = datetime.strptime(filetype[0], '%m/%d/%Y')
    enddate = datetime.strptime(filetype[1], '%m/%d/%Y')
    return startdate <= dateobj <= enddate

print(fn('6/6/2019', x['filename']['filetype']))
print(fn('4/6/2019', x['filename']['filetype']))

这将打印:

True
False

推荐阅读