枚举日期范围
我有两个日期,想要在图表的x轴上生成标签。
因此,我需要一种方法来处理两个日期时间对象,比如2009-10-12 00:00:00和2009-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)]
或者,对于喜欢列表推导的人来说: