python 獲取當前周(自然周)的周一和周日


1.實現

def get_monday_to_sunday(today, weekly=0):
    """
    :function: 獲取指定日期的周一和周日的日期
    :param today: '2021-11-16'; 當前日期:today = datetime.now().strftime('%Y-%m-%d')
    :param weekly: 獲取指定日期的上幾周或者下幾周,weekly=0當前周,weekly=-1上一周,weekly=1下一周
    :return: 返回指定日期的周一和周日日期
    :return_type: tuple
    """
    last = weekly * 7
    today = datetime.strptime(str(today), "%Y-%m-%d")
    monday = datetime.strftime(today - timedelta(today.weekday() - last), "%Y-%m-%d")
    monday_ = datetime.strptime(monday, "%Y-%m-%d")
    sunday = datetime.strftime(monday_ + timedelta(monday_.weekday() + 6), "%Y-%m-%d")
    return monday, sunday

2.測試

#### 輸入1
today = '2021-11-16' # 指定的日期,或者當前日期=datetime.now().strftime('%Y-%m-%d'),這里的日期格式以“-”分隔
weekly = -1
print(get_monday_to_sunday(today, weekly))
#### 輸出1
('2021-11-08', '2021-11-14') # 上一周

#### 輸入2
today = '2021-11-16'
weekly = 0
print(get_monday_to_sunday(today, weekly)) 
#### 輸出2
('2021-11-15', '2021-11-21') # 當前周

#### 輸入3
today = '2021-11-16'
weekly = 1
print(get_monday_to_sunday(today, weekly))
#### 輸出3
('2021-11-22', '2021-11-28') # 下一周


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM