我正在尝试按月计算日期范围内的天数。假设日期范围出现在 2 个月之间,因为开始日期和结束日期位于 2 个不同的月份。我希望输出显示该范围内的 x 天数属于一个月内,x 天数属于下个月。
到目前为止,我的代码仅输出退伍军人节后 10 天(我的开始日期)到退伍军人节后 20 天(结束日期)范围内的每一天:
import datetime
Veterans = datetime.datetime(2019, 11, 12)
print(Veterans)
number_of_days = 10
ten_days = datetime.timedelta(days=10)
vetplus10 = Veterans + ten_days
date_list = [(vetplus10 + datetime.timedelta(days=day)).isoformat() for day in range(number_of_days)]
print(date_list)
['2019-11-22T00:00:00', '2019-11-23T00:00:00', '2019-11-24T00:00:00', '2019-11-25T00:00:00', '2019-11-26T00:00:00', '2019-11-27T00:00:00', '2019-11-28T00:00:00', '2019-11-29T00:00:00', '2019-11-30T00:00:00', '2019-12-01T00:00:00']
这里的想法是让 python 计算 11 月的所有天数 (9) 和 12 月的所有天数 (1)。 预先感谢您!
最佳答案
您可以尝试使用 pandas 创建日期范围,将其转换为月份并获取值计数。
import pandas as pd
pd.date_range(start='2019-11-22', periods=10, freq='D').to_period('M').value_counts()
2019-11 9
2019-12 1
关于python - 在Python中按月计算某个范围内的天数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68121851/