如何计算两个日期之间的 2 周数?

How to have the number of 2 weeks between two dates?

我想知道一种计算日期之间的半月数的有效方法。

我有这个代码,它可以工作,但我确定它可以得到增强?

import math
import datetime

start_date = datetime.date(2021, 3, 15)

end_date = datetime.date(2022, 5, 30)

delta = end_date - start_date
print(delta.days)

delta = str(delta)
delta = delta[:-13]
delta = int(delta)

nb = int(math.ceil(delta/15))
print(nb)

输出:

441
30

有什么想法可以使这段代码更高效吗?我不确定这是最好的方法。

您可以完全避免delta

nb = int(math.ceil((end_date - start_date).days/15))

请注意,对于非常 长的范围,这可能会稍微偏离(因为并非所有月份都是 30 天);这完全取决于您所说的“semi-month”的意思。