我有一个包含 start_date 和 end_date 的字符串,由 / 分隔,如下所示
2017-01-30T12:00-0300/2017-03-30T00:00-0300
这里T代表时间。
我想检查这个日期是否不超过今天的日期,做点什么。
我尝试了什么-
sale_price_effective_date = current_row['sale_price_effective_date'].split("/")
start_date = sale_price_effective_date[0]
end_date = sale_price_effective_date[1]
print start_date
print end_date
这里的 sale_price_effective_date 是包含 start_date 和 end_date 的字符串。
我想做-
if (end_date-start_date)>datetime.now():
//do something
请帮忙。期待您的建议。
请您参考如下方法:
这个怎么样:
In [1]: from dateutil import parser
In [2]: s = "2017-01-30T12:00-0300/2017-03-30T00:00-0300"
In [3]: start, end = s.split("/")
In [4]: start_date = parser.parse(start)
In [5]: start_date
Out[5]: datetime.datetime(2017, 1, 30, 12, 0, tzinfo=tzoffset(None, -10800))
In [6]: end_date = parser.parse(end)
In [7]: start_date > end_date
Out[7]: False
编辑:
要检查今天的日期是否在开始和结束之间,您可以这样做:
In [19]: from datetime import datetime
In [20]: start_date < datetime.now(tz=start_date.tzinfo) < end_date
Out[20]: False
如 MYGz 所示。
