我的日期字符串格式如下:"2017-05-31T06:44:13Z"
。
我需要检查这个日期是否在距今天的一年之内。
这是最好的方法:将其转换为时间戳并检查或转换为日期格式?
答案 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
。