Python 为今天的日期验证包含 start_date 和 end_date 的字符串
Python validate String containing start_date and end_date for today's date
我有一个包含 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
是包含[=36=]和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所示。
你可以这样做:
import dateutil
from datetime import datetime
a = "2017-01-30T12:00-0300/2017-03-30T00:00-0300"
a = map(dateutil.parser.parse, a.split('/'))
if datetime.now(tz=a[1].tzinfo) < a[1]:
print "Todays date is less than end date"
else:
print "Todays date is greater than end date"
如果今天的日期时间可以小于或等于结束日期时间,则在比较中添加一个额外的等号=
,如下所示:
datetime.now(tz=a[1].tzinfo) <= a[1]
我有一个包含 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
是包含[=36=]和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所示。
你可以这样做:
import dateutil
from datetime import datetime
a = "2017-01-30T12:00-0300/2017-03-30T00:00-0300"
a = map(dateutil.parser.parse, a.split('/'))
if datetime.now(tz=a[1].tzinfo) < a[1]:
print "Todays date is less than end date"
else:
print "Todays date is greater than end date"
如果今天的日期时间可以小于或等于结束日期时间,则在比较中添加一个额外的等号=
,如下所示:
datetime.now(tz=a[1].tzinfo) <= a[1]