检查列表中的日期是否超过2天

时间:2017-10-04 11:14:52

标签: python-3.x list datetime

我有一个列表如下

list  = ['9/27/17', '9/26/17', '9/22/17']

我想知道有多少日期超过2天,有多少日期超过5天(从今天开始 - 当前日期)。达到这个目标的最佳途径是什么?请注意,有时列表中包含更多日期,而不仅仅是3作为示例。提前感谢您的输入/提示。 Regrds。

2 个答案:

答案 0 :(得分:2)

您可以尝试以下代码

from datetime import datetime

def c(t):
    ttime = datetime.strptime(t, '%m/%d/%y')
  return ((datetime.now() - ttime).days)

timelist = ['9/27/17', '9/26/17', '9/22/17', '10/3/17']
timelist = [c(t) for t in timelist]
print(timelist)

它将返回 [7,8,12,1] ,然后您可以根据需要对其进行简单分类

基本上你可以使用 strptime 解析任何内容,文档:https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior

答案 1 :(得分:1)

这将有效,并且可以灵活地更改限制日期范围

    from datetime import datetime, timedelta, date

    #make a 2 day limit
    datelimit = datetime.today() - timedelta(days=2)

    yourlist  = ['9/27/17', '9/26/17', '9/22/17']

    for i in yourlist:
        j = datetime.strptime(i,  "%m/%d/%y")
        if j < datelimit:
            print (j.strftime('%d/%m/%Y'))

enter image description here