检查日期是一年内的python

时间:2017-06-07 13:16:44

标签: python datetime

我的日期字符串格式如下:"2017-05-31T06:44:13Z"

我需要检查这个日期是否在距今天的一年之内。

这是最好的方法:将其转换为时间戳并检查或转换为日期格式?

2 个答案:

答案 0 :(得分:3)

将时间戳转换为日期时间对象,以便可以使用<>=将其与其他日期时间对象进行比较。

from datetime import datetime
from dateutil.relativedelta import relativedelta

# NOTE this format basically ignores the timezone. This may or may not be what you want
date_to_check = datetime.strptime('2017-05-31T06:44:13Z', '%Y-%m-%dT%H:%M:%SZ')
today = datetime.today()
one_year_from_now = today + relativedelta(years=1)


if today <= date_to_check <= one_year_from_now:
    #   do whatever

答案 1 :(得分:0)

datetime包与timedelta一起使用:

import datetime
then = datetime.datetime.strptime("2017-05-31T06:44:13Z".replace('T',' ')[:-1],'%Y-%m-%d %H:%M:%S')
now = datetime.datetime.now()
d = datetime.timedelta(days = 365)

然后只需检查if now-d > then