Python日期時間(datetime.timedelta)


timedelta類是datetime.py中的一個類,主要處理時間的計算

其結構如下:

#class datetime.datetime.timedelta(days=0, seconds=0, microseconds=0,milliseconds=0, minutes=0, hours=0, weeks=0)

 

生成時間差

#生成時間差
today = datetime.date.today()
td = datetime.timedelta(10) # 10 days, 0:00:00 ,<class 'datetime.timedelta'>
td = datetime.timedelta(days=-10) # -10 days, 0:00:00 <class 'datetime.timedelta'>
td = datetime.timedelta(days=-10,hours=5) # -10 days, 5:00:00 <class 'datetime.timedelta'>
td = datetime.timedelta(days=-10,hours=-5) # -11 days, 19:00:00 <class 'datetime.timedelta'>
td = datetime.timedelta(days=-10,hours=-5,weeks=1) # -4 days, 19:00:00 <class 'datetime.timedelta'>

 

計算目標日期

#計算目標日期
#計算4天后
dt = datetime.date.today() # 2020-03-15
td = datetime.timedelta(days=4)
print(dt + td)# 2020-03-19

#計算4小時前
dt = datetime.datetime.today() # 2022-03-15 11:25:28.309209
td = datetime.timedelta(hours=4)
print(dt - td) # 2022-03-15 07:25:28.309209

#計算1周以后
dt = datetime.date.today() # 2020-03-15
td = datetime.timedelta(weeks=1)
print(dt + td) # 2022-03-22

 

根據服務器時間,算本周時間段

from datetime import date, datetime, timedelta


def this_monday(today):
    """
    :function: 獲取本周周一日期
    :param_type: datetime
    :return: 返回周一的日期
    :return_type: string
    """
    td = timedelta(days = today.weekday())
    return datetime.strftime(today - td, "%Y-%m-%d")

def this_sunday(today):
    """
    :function: 獲取本周周日日期
    :param_type : datetime
    :return: 返回周日日期
    :return_type: string
    """
    td = timedelta(days = 7-today.weekday()-1)
    return datetime.strftime(today + td, "%Y-%m-%d")

today = date.today()
print(this_monday(today))
print(this_sunday(today))

  

 


免責聲明!

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



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