【Python小随笔】获取N天前N天后的所有日期

# 月份
def get_next_n_months(date_str,n):
    from datetime import datetime, timedelta
    input_date = datetime.strptime(date_str, "%Y-%m")
    next_six_months = []
    for i in range(1, n + 1):
        next_month = input_date + timedelta(days=31 * i)
        next_month_str = next_month.strftime("%Y-%m")
        next_six_months.append(next_month_str)
    return next_six_months


import datetime
def get_nday_list(n):
    before_n_days = []
    for i in range(1, n + 1)[::-1]:
        before_n_days.append(str(datetime.date.today() - datetime.timedelta(days=i)))
    return before_n_days

def get_past_n_days(start_date, n):
    date_format = "%Y-%m-%d"
    start_date_obj = datetime.datetime.strptime(start_date, date_format).date()
    past_n_days = []
    for i in range(1, n + 1):
        past_day = start_date_obj - datetime.timedelta(days=i)
        past_n_days.append(str(past_day))
    past_n_days.reverse()  # 将日期列表反转,使最旧的日期排在最前面
    return past_n_days


def get_next_n_days(n):
    next_n_days = []
    for i in range(1, n + 1):
        next_n_days.append(str(datetime.date.today() + datetime.timedelta(days=i)))
    return next_n_days

def get_next_n_days(start_date, n):
    date_format = "%Y-%m-%d"
    start_date_obj = datetime.datetime.strptime(start_date, date_format).date()
    next_n_days = []
    for i in range(1, n + 1):
        next_day = start_date_obj + datetime.timedelta(days=i)
        next_n_days.append(str(next_day))
    return next_n_days

posted @ 2023-02-14 18:33  PythonNew_Mr.Wang  Views(127)  Comments(0)    收藏  举报