python datetime使用 獲取前n天的日期 - 獲取最近n周時間列表 - 獲取最近n天時間列表

import datetime


def getYesterday():
    """獲取去年的今天"""
    today = datetime.date.today()
    oneday = datetime.timedelta(days=365)
    yesterday = today-oneday
    return yesterday


def get_before_30_date(n):
    """獲取前n天的日期"""
    day = datetime.datetime.now() - datetime.timedelta(days=n)
    before_n_day = datetime.datetime(day.year, day.month, day.day).strftime('%Y-%m-%d')
    return before_n_day


def get_7_time(recently_n_week):
    dayOfWeek = datetime.datetime.now().isoweekday()
    now_time = datetime.datetime.now()
    start_time = now_time - datetime.timedelta(days=int(dayOfWeek-1))
    end_time = now_time + datetime.timedelta(days=int(7-dayOfWeek))
    # 計算出前幾周
    time_list = [{"start_time": start_time.strftime("%Y-%m-%d"), "end_time": end_time.strftime("%Y-%m-%d")}]
    for i in range(1, recently_n_week):
        time_list.append({
            "start_time": (start_time - datetime.timedelta(days=int(i *7))).strftime("%Y-%m-%d"),
            "end_time": (end_time - datetime.timedelta(days=int(i *7))).strftime("%Y-%m-%d")
        })
    return time_list


def get_date_list(days):
    """返回前days天日期列表"""
    date_list = list()
    for i in range(1, days+1):
        day = datetime.datetime.now() - datetime.timedelta(days=i)
        date_to = datetime.datetime(day.year, day.month, day.day)
        date_list.append(date_to)
    return date_list

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章