在 Python 中创建日期范围列表
我们将介绍一些生成日期范围列表的方法。一种方法是使用 pandas
库。Pandas 直接支持完成任务。另一种方法是使用 for 循环手动设计自己的逻辑来生成日期。
我们将看一些示例,例如通过输入开始日期和之后的 k 天来创建日期范围的列表,或者我们可以输入开始日期和结束日期。
在 Python 中使用 Pandas 创建日期范围列表
我们将使用 pandas 的 date_range()
函数,其中我们将传递开始日期和之后的天数(称为句点)。在这里,我们还使用了 datetime
库来格式化日期,以便我们可以以 DD-MM-YY
格式输出日期。我们还可以定义时间戳和日期。
示例代码:
在此示例中,我们以 DD-MM-YY
的格式传递开始日期和周期。因此,在输出中,我们可以看到从开始日期开始的一系列天数以及之后的 periods
数。
# python 3.x
import datetime
import pandas as pd
start = datetime.datetime.strptime("01-12-2021", "%d-%m-%Y")
date_generated = pd.date_range(start, periods=5)
print(date_generated.strftime("%d-%m-%Y"))
输出:
Index(['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021'], dtype='object')
现在我们将看另一个示例,其中我们将传递开始日期
和结束日期
。程序将输出这两个日期之间的日期范围。
# python 3.x
import datetime
import pandas as pd
start = datetime.datetime.strptime("01-12-2021", "%d-%m-%Y")
end = datetime.datetime.strptime("07-12-2021", "%d-%m-%Y")
date_generated = pd.date_range(start, end)
print(date_generated.strftime("%d-%m-%Y"))
输出:
Index(['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021',
'06-12-2021', '07-12-2021'],
dtype='object')
在 Python 中手动创建日期范围列表
借助 for 循环和 timedelta()
,我们可以手动生成列表。timedelta()
是 datetime
库下定义的函数。这里 delta 表示差异。在它的帮助下,我们可以用日期加减 delta 来分别获得下一个或上一个日期。假设我们有一个日期 01-12-2021。现在,如果我们给它加 1,我们的日期将是 02-12-2021。我们将在 for 循环中使用该逻辑。For 循环被迭代,我们将添加带有开始日期的变量以获得下一个日期,然后我们将当前生成的日期附加到我们的列表中,直到我们得到完整的日期范围。
示例代码:
# python 3.x
import datetime
start = datetime.date(2021, 12, 10)
periods = 5
daterange = []
for day in range(periods):
date = (start + datetime.timedelta(days=day)).isoformat()
daterange.append(date)
print(daterange)
输出:
['2021-12-10', '2021-12-11', '2021-12-12', '2021-12-13', '2021-12-14']
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn