找到问题了,做如下修改即可,因为0点以后tick时间是小于 next_status.enter_time的,这个时候 curr_status.enter_time 是21:00:00,next_status.enter_time是1:00:00
if curr_status.enter_time < next_status.enter_time:
if curr_status.enter_time <= tick_time < next_status.enter_time:
status = curr_status
elif next_status.enter_time <= tick_time:
status = next_status
else:
if curr_status.enter_time <= tick_time:
status = curr_status
if next_status.enter_time <= tick_time:
status = next_status
#DUKE 新增代码
if next_status.enter_time > tick_time:
status = curr_status