我正在尝试使用以下内容创建一个数组,请参见此示例以了解我的目标。
目前,我有此代码,用于计算两个日期之间每个月的天数:
a = datetime(2019,11,1)
b = datetime(2023,12,31)
days = [calendar.monthrange(dt_i.year, dt_i.month)[1] for dt_i in rrule.rrule(rrule.MONTHLY, dtstart=a, until=b)]
输出值
[30, 31, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
目的:
我试图实现的目标是类似的,但多年来
a = datetime(2019,11,1)
b = datetime(2023,12,31)
##Unsure of code going here##
输出值
[60, 366, 365, 365, 365]
目的是找出当年的剩余天数,然后找出过去几年的天数
任何帮助表示赞赏,谢谢!
from datetime import datetime
a = datetime(2019, 11, 1)
b = datetime(2023, 12, 31)
# end of a's year
next_a = datetime(2019, 12, 31)
# previous b's end year
prev_b = datetime(2022, 12, 31)
# get all full year difference in days
difs_in_years = [(datetime(x + 1, 12, 31) - datetime(x, 12, 31)).days for x in range(next_a.year, prev_b.year)]
# get a's diff in days from its end of the year
difs_in_years.insert(0, (next_a - a).days)
# get b's diff in days from its beggining of the year
difs_in_years.insert(len(difs_in_years), (b - prev_b).days)
print(difs_in_years)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句