Python查找年中的剩余天数和年外的天数

2024-04-18 07:34:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个数组,如下所示,我的目标见这个例子。你知道吗

目前我有一个代码,它计算两个日期之间每个月的天数:

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]

目标是找出当年的剩余天数,然后找出当年的剩余天数

感谢您的帮助,谢谢!你知道吗


Tags: 代码in目标fordatetimedt数组days
2条回答
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)

ranisfisch打败了我。你知道吗

我想指出How to Calculate the number of days in the year(s) between 2 dates in python,这基本上是同一个问题。另外,我要指出的是,您的每月天数示例仅适用于开始日期为每月第一天的情况。你知道吗

相关问题 更多 >