Python 獲取自然周的起止日期(年-月-日 00:00:00)


 

 記錄下,以備不時之需(網上找了好久,才找個這個比較滿意的)

import time

def get_day_begin(ts=time.time(), N=0):
    """
    N為0時獲取時間戳ts當天的起始時間戳,N為負數時前數N天,N為正數是后數N天
    24 時(小時)=86400 000 毫秒
    """
    return int(time.mktime(time.strptime(time.strftime('%Y-%m-%d', time.localtime(ts)), '%Y-%m-%d'))) + 86400 * N

def get_week_begin(ts = time.time(),N = 0):
    """
    N為0時獲取時間戳ts當周的開始時間戳,N為負數時前數N周,N為整數是后數N周,此函數將周一作為周的第一天
    """
    w = int(time.strftime('%w',time.localtime(ts)))
    return get_day_begin(int(ts - (w-1)*86400)) + N*604800


t=time.time()
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(get_week_begin(t,0))))
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(get_week_begin(t,1))))


 輸出結果:

2020-12-28 00:00:00
2021-01-04 00:00:00

 

#來源鏈接 https://www.oschina.net/code/snippet_46178_13435


免責聲明!

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



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