问题描述
好吧,从来没有像Python中的日期时间那么难。我有个时间my_time
,这个时间在夏天总是需要增加2小时,而冬天则需要增加1小时。 my_time
的正确时区是EET。现在,我正在尝试将其与start_time
和end_time
进行比较,但是执行if语句时,我仍然可以看到它仍在寻找'base'my_time
。那怎么可能?
这是我的代码:
my_time = '20200907-07u00m00s'
my_time = datetime.datetime.strptime(my_time,'%Y%m%d-%Hu%Mm%Ss')
timezone= 'Europe/Amsterdam'
my_time = pytz.utc.localize(my_time).astimezone(pytz.timezone(timezone))
start_time = '202097060000'
start_time = datetime.datetime.strptime(start_time,'%Y%m%d%H%M%S')
start_time = pytz.utc.localize(start_time)
end_time = '202097080000'
end_time = datetime.datetime.strptime(end_time,'%Y%m%d%H%M%S')
end_time = pytz.utc.localize(end_time)
if my_time >= start_time and my_time <= end_time:
print('my_time IS between the start and end time')
else:
print('my_time IS NOT between the start and end time')
收到的输出:
my_time IS between the start and end time
我猜代码正在检查2020-09-07 07:00:00
是否在2020-09-07 06:00:00
和2020-09-07 08:00:00
之间。
我的预期输出是该代码检查是否:
2020-09-07 09:00:00
在2020-09-07 06:00:00
和2020-09-07 08:00:00
之间,这意味着它应该打印my_time IS NOT between the start and end time
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)