gpt4 book ai didi

python - 生成间隔之间的日期时间列表

转载 作者:IT老高 更新时间:2023-10-28 20:31:31 25 4
gpt4 key购买 nike

给定两个日期时间(start_dateend_date),我想生成这两个日期之间的其他日期时间列表,新的日期时间由变量分隔间隔。例如在 2011 年 10 月 10 日和 2011 年 12 月 12 日之间每 4 天或从现在到明天晚上 19​​ 点之间每 8 小时一次。

也许大致相当于 Dateperiod PHP 类。

在 Python 中完成此任务的最有效方法是什么?

最佳答案

使用 datetime.timedelta :

from datetime import date, datetime, timedelta

def perdelta(start, end, delta):
curr = start
while curr < end:
yield curr
curr += delta

>>> for result in perdelta(date(2011, 10, 10), date(2011, 12, 12), timedelta(days=4)):
... print result
...
2011-10-10
2011-10-14
2011-10-18
2011-10-22
2011-10-26
2011-10-30
2011-11-03
2011-11-07
2011-11-11
2011-11-15
2011-11-19
2011-11-23
2011-11-27
2011-12-01
2011-12-05
2011-12-09

适用于日期和日期时间对象。你的第二个例子:

>>> for result in perdelta(datetime.now(),
... datetime.now().replace(hour=19) + timedelta(days=1),
... timedelta(hours=8)):
... print result
...
2012-05-21 17:25:47.668022
2012-05-22 01:25:47.668022
2012-05-22 09:25:47.668022
2012-05-22 17:25:47.668022

关于python - 生成间隔之间的日期时间列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10688006/

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