Skip to main content
 首页 » 编程设计

Python 验证包含今天日期的开始日期和结束日期的字符串

2025年05月04日29zengkefu

我有一个包含 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 所示。