枚举日期范围

3 投票
2 回答
760 浏览
提问于 2025-04-15 18:27

我有两个日期,想要在图表的x轴上生成标签。

因此,我需要一种方法来处理两个日期时间对象,比如2009-10-12 00:00:002009-10-20 00:00:00,然后生成一个像这样的列表:

["2009-10-12", "2009-10-13", "2009-10-14", ..., "2009-10-19", "2009-10-20"]

我应该使用哪些库来帮助我呢?我觉得datetime模块和timedelta功能会很有帮助。

如果有必要的话,我可以提供代码,但我觉得在python的库中应该有一些内置的东西,可以让这个过程变得非常简单。我似乎只是没有找到。

2 个回答

0

这段代码的目的是为了展示如何在程序中使用某个功能。它可能涉及到一些基本的编程概念,比如变量、循环或者条件判断。通过这些代码,你可以看到如何一步一步地实现一个特定的任务。

如果你是编程新手,可以把这段代码想象成一个食谱,里面详细列出了每一步该怎么做,最终的目标是完成一道菜。每一行代码就像是食谱中的一个步骤,按照顺序执行,就能得到想要的结果。

记得在学习的时候,多动手实践,试着运行这些代码,看看它们是如何工作的,这样你会更容易理解其中的原理。

from datetime import date, timedelta

a, b = date(1010, 10, 12), date(1010, 10, 20)
times = [a + timedelta(x) for x in xrange((b-a).days)]

# If you want to format them:
times = [x.strftime('%Y-%m-%d') for x in times]
2
import datetime

first=datetime.date(2009,10,12)
last=datetime.date(2009,10,20)
adate=first
dates=[]
while adate<=last:
    dates.append(adate)
    adate+=datetime.timedelta(1)
print(dates)
len=(last-first).days
dates=[first+datetime.timedelta(n) for n in range(len+1)]

或者,对于喜欢列表推导的人来说:

撰写回答