Jo *_* Ko 2 python datetime python-dateutil
我有以下两个日期/时间,分别是date_time1和date_time2:
2017-04-15 00:00:00
2017-04-17 15:35:19+00:00
parsed1 = dateutil.parser.parse(date_time1)
parsed2 = dateutil.parser.parse(date_time2)
Run Code Online (Sandbox Code Playgroud)
如果我收到另一个日期/时间input_date_time(例如 2017-04-16 12:11:42+00:00),我想做以下事情:
# Would like to check if `input_date_time` is within the range
if parsed1 <= input_date_time <= parsed2:
…
Run Code Online (Sandbox Code Playgroud)
并得到一个错误: TypeError: can't compare offset-naive and offset-aware datetimes
想把它分解成年、月、日、小时、分钟和秒,然后比较每一个。
这样做的正确方法是什么?
这是我编辑的(再次)示例,我认为我们应该为每个日期时间对象提供时区数据,假设 date_time1 是本地时间。我认为我们应该将时区数据添加到 date_time1 而不是清除其他 tzinfo(我的第一个示例)
import dateutil.parser
import datetime
from pytz import utc
date_time1 ='2017-04-15 00:00:00'
date_time2 ='2017-04-17 15:35:19+00:00'
input_date_time = '2017-04-16 12:11:42+00:00'
parsed1 = dateutil.parser.parse(date_time1).astimezone(utc)
parsed2 = dateutil.parser.parse(date_time2)
input_parsed = dateutil.parser.parse(input_date_time)
if parsed1 <= input_parsed <= parsed2:
print('input is between')
Run Code Online (Sandbox Code Playgroud)
这可以检查输入是否介于parsed1和parsed2
| 归档时间: |
|
| 查看次数: |
18872 次 |
| 最近记录: |