2022-07-15

【Python】日期時間的運算

參考資料 ----

 

import  datetime
from  datetime  import timedelta
import time
from time import sleep

...
...

tBegin = datetime.datetime.now()    # 開始時間
print('tBegin ='+str(tBegin))
# 輸出結果 → tBegin = 2022-07-15 20:16:51.050644

print(tBegin.strftime("%Y.%m.%d  %H:%M:%S 星期 %w, 第 %U 週, 第 %j 日"))    # 格式化日期時間
# 輸出結果 → tBegin = 2022.07.15 20:16:51 星期 5, 第 28 週, 第 196 日
# 注意: 第 1 週是 0, 而且是以 星期日做為一週的第 1 天, 所以實際上是 第 29 週
# 若要以 星期一 做為一週的第 1 天, 則參數為 %W
# %w 參數, 0 表 星期日, 6 表 星期六


time.sleep(66)    # 暫停 66 秒
tStop = datetime.datetime.now()    # 結束時間
print("歷時: "+str(tStop - tBegin))
# 輸出結果 → 歷時: 0:01:06.011046


# 當 2 個日期時間運算後, 結果會存入 datedelta 的類別

# 利用 timedelta 進行日期/時間 的 前/後移,
# 往後移, 數字是 正數
# 往前移, 數字是 負數
tStop = tBegin + timedelta(days=1, hours=2, minutes=-10)    # 共有 days, seconds, microseconds, milliseconds, minutes, hours, weeks 這幾種屬性
# 往後移 1 天 又 2 小時, 但 "往前移" 10 分
print('tStop ='+str(tStop))
# 輸出結果 → tStop = 2022-07-16 22:06:51.050644


tSomeday = datetime.datetime(2020, 5, 17, 13, 0, 9)
print('tSomeday = '+str(tSomeday))
# 輸出結果 → tSomeday = 2020-05-17 13:00:09

tSomeday = datetime.datetime(2020, 5, 17)    # 只有日期
print('tSomeday = '+str(tSomeday))
# 輸出結果 → tSomeday = 2020-05-17 00:00:00
 




沒有留言:

張貼留言