1. 程式人生 > 其它 >python獲取指定間隔日期列表

python獲取指定間隔日期列表

1.獲取指定年份月份之間的間隔日期列表

import datetime
from calendar import Calendar


def get_year_dates(year: int, date_format: str = '%Y%m%d', start_month=1, end_month=12):
    """
    獲取指定年份月份的所有日期
    :param year: int
    :param date_format:
    :param start_month: 預設開始月份從1月份開始,即返回當年所有日期
    :return: -> list[str]  某年從開始月份第一天起到年底的所有日期
    """
date_list = [] c = Calendar(year) for i in range(start_month, end_month + 1): for week in c.monthdatescalendar(year, i): for date in week: if date.year == year and start_month <= date.month <= end_month: date = date.strftime(
date_format) if date not in date_list: date_list.append(date) get_logger().info('get_year_dates, year=%s, start_month=%s, end_month=%s, date_list=%s' % (year, start_month, end_month, date_list)) return date_list

2.獲取指定起止時間之間的間隔日期列表

import datetime
def
get_date_list(start_date, end_date, format): """ 根據開始日期、結束日期返回這段時間裡所有天的集合 :param start_date: 開始日期(日期格式或者字串格式) :param end_date: 結束日期(日期格式或者字串格式) :param format: 格式化字串, 如: '%Y-%m-%d' :return: """ date_list = [] if isinstance(start_date, str) and isinstance(end_date, str): start_date = datetime.datetime.strptime(start_date, '%Y-%m-%d') end_date = datetime.datetime.strptime(end_date, '%Y-%m-%d') date_list.append(start_date.strftime(format)) while start_date < end_date: start_date += datetime.timedelta(days=1) date_list.append(start_date.strftime(format)) return date_list
每天逼著自己寫點東西,終有一天會為自己的變化感動的。這是一個潛移默化的過程,每天堅持編編故事,自己不知不覺就會擁有故事人物的特質的。 Explicit is better than implicit.(清楚優於含糊)