Python3實現獲取指定日期範圍內的月份列表
阿新 • • 發佈:2018-12-25
import datetime from dateutil import rrule class TimeHelper(): def getMonthRangList(self, start_month, end_month): """ 從開始日期到結束日期查詢存在的月份列表,除去本月的資料 :param start_month: :param end_month: :return: """ start_time = datetime.datetime.strptime(start_month, "%Y-%m") end_time = datetime.datetime.strptime(end_month, "%Y-%m") month_count = rrule.rrule(rrule.MONTHLY, dtstart=start_time, until=end_time).count() now_month = datetime.datetime.strptime(str(datetime.datetime.now())[:7], "%Y-%m") if start_time == now_month == end_time: return [] else: month_list = [] for x in range(month_count): year, month = [int(y) for y in str(start_time)[:7].split("-")] month = month + x if month > 12: year += 1 month -= 12 elif month < 1: year -= 1 month += 12 year, month = str(year), str(month) if len(month) == 1: month = "0" + month month_list.append(year + "-" + month) if str(now_month)[:7] in month_list: month_list.remove(str(now_month)[:7]) return month_list s=TimeHelper().getMonthRangList("2018-01","2018-11") print(s)
效果如圖: