我需要实现代码,这将帮助我获取两个日期之间的月份列表。
我已经有了代码,它将给出月份增量,即月数。
实际上,我需要一种方法来获得两个日期之间的月份列表。
这是获得月份增量的代码。
import calendar
import datetime
def calculate_monthdelta(date1, date2):
def is_last_day_of_the_month(date):
days_in_month = calendar.monthrange(date.year, date.month)[1]
return date.day == days_in_month
imaginary_day_2 = 31 if is_last_day_of_the_month(date2) else date2.day
monthdelta = (
(date2.month - date1.month) +
(date2.year - date1.year) * 12 +
(-1 if date1.day > imaginary_day_2 else 0)
)
print monthdelta
return monthdelta
date2 = datetime.datetime.today()
date1 = date2.replace(month=01)
calculate_monthdelta(date1, date2)
现在我需要一种方法来获取相同的月份列表。
感谢任何帮助如果有任何方法可以获得两个日期之间的月份列表。
注意:除了我在这里使用的代码外,请提出任何想法(如果有的话)。
答案 0 :(得分:11)
试试这个
The specified value "2525-0505-16161616 0606:0505" does not conform to the required format. The format is "yyyy-MM-ddThh:mm" followed by optional ":ss" or ":ss.SSS"
答案 1 :(得分:0)
from datetime import datetime,timedelta
import time
d = date1
delta = timedelta(months=1)
while d <= date2:
print d.strftime("%m")
d += delta
答案 2 :(得分:-1)
将您的打印声明更改为:
print calendar.month_name[:monthdelta]
答案 3 :(得分:-1)
因为我不知道你想要的输出我不能格式化我的,但这会返回两个日期之间的总月数的整数。
def calculate_monthdelta(date1, date2):
print abs(date1.year - date2.year) * 12 + abs(date1.month - date2.month)