gpt4 book ai didi

python - timedelta 和两个时间范围

转载 作者:太空宇宙 更新时间:2023-11-03 19:13:46 26 4
gpt4 key购买 nike

我想知道 timedelta 有多少小时在白天和夜晚范围内。

时间开始:

>>> dt_start = datetime.datetime(2012, 8, 19, 16, 0)

时间停止:

>>> dt_stop = datetime.datetime(2012, 8, 20, 3, 0)

时间增量:

>>> dtd = dt_stop - dt_start
>>> print(dtd.seconds//3600)
>>> 11

时间范围:

Day = 7am-22pm
Night = 22pm-7am

对于此示例,正确的输出将是:

Day hours: 6:00
Night hours: 5:00

如果有任何帮助,我将不胜感激。

最佳答案

您需要指定白天和夜晚的过渡点,并计算到该过渡点的增量,然后计算到终点的增量:

day_start = 7
night_start = 22

day_hours = 0
night_hours = 0
if dt_start.hour < night_start:
dt_night = dt_start.replace(hour=night_start)
day_hours = (dt_night - dt_start).seconds // 3600
night_hours = (dt_end - dt_night).seconds // 3600

这是一个相当幼稚的设置,因为它不支持多天跨度等。将其视为一个起点。

关于python - timedelta 和两个时间范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12123963/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com