python - 获取两个日期之间的月份列表

标签 python datetime calendar

我需要实现代码以帮助我获取两个日期之间的月份列表。

我已经有了给出月份增量的代码,即月份数。

实际上,我需要一种方法来获取两个日期之间的月份列表。

这是获取月份增量的代码。

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)

现在我需要获取相同月份列表的方法。

如果有任何方法可以获取两个日期之间的月份列表,我们将不胜感激。

注意:除了我在这里使用的代码之外,请提出任何想法(如果可用)。

最佳答案

试试这个

import datetime
import time
from dateutil.rrule import rrule, MONTHLY
months = [dt.strftime("%m") for dt in rrule(MONTHLY, dtstart=date1, until=date2)]
print months

关于python - 获取两个日期之间的月份列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37456421/

相关文章:

python - 对数组的每个元素求和

azure - 尝试使用 Microsoft Graph API 获取 Outlook 日历事件时出现权限问题 - 访问被拒绝。检查凭据并重试

php - Codeigniter 日历库显示周和月

c# - 夏令时规则和转换

mysql - 如何以 UTC 和本地时区存储日期时间

java - 即使我添加 + 1,带有 DatePicker 的日历也总是返回上个月

python - SciPy leastsq 适合正弦波失败

python - python 3.2 中的大括号集和排序

python - 从线程发送信号时出错

javascript - 使用 moment 抓取不同时区的日期的部分内容