Python中datetime模塊提供強大易用的日期處理功能,用於記錄程序操作或修改時間、時間計算、日志時間顯示等功能。datatime模塊重新封裝了time模塊,提供的類包括date、time、datetime、timedelta、tzinfo。本文提供datetime模塊最常用的使用實例,解決編碼中使用datetime模塊的大部分需求。datetime模塊更詳盡用法可以查看幫助手冊。
datetime模塊使用實例
1、獲取當前系統時間
>>> import datetime >>> datetime.datetime.now() datetime.datetime(2020, 2, 1, 10, 35, 36, 57427) >>> print(datetime.datetime.now()) 2020-02-01 10:35:49.044320
2、獲取當前日期、當前年份、當前月份、當天
>>> datetime.date.today() datetime.date(2020, 2, 1) >>> print(datetime.date.today()) 2020-02-01 >>> str(datetime.date.today())[0:4] '2020' >>> str(datetime.date.today())[5:7] '02' >>> str(datetime.date.today())[8:10] '01'
4、計算距離當前10天前、10天后的日期
# 計算10天后的日期 >>> compute_day = datetime.date.today() + datetime.timedelta(days=10) >>> print(compute_day) 2020-02-11 # 計算10天前的日期 >>> compute_day = datetime.date.today() - datetime.timedelta(days=10) >>> print(compute_day) 2020-01-22
5、計算距離當前時間10小時后、10小時前的時間
>>> cur_time = datetime.datetime.now() # 當前時間 >>> print(cur_time) 2020-02-01 11:04:23.632746 # 計算10小時后的時間 >>> compute_time = cur_time + datetime.timedelta(hours=10) >>> print(compute_time) 2020-02-01 21:04:23.632746 # 計算10小時前的時間 >>> compute_time = cur_time - datetime.timedelta(hours=10) >>> print(compute_time) 2020-02-01 01:04:23.632746
6、計算兩個日期間隔多少天
>>> day1 = datetime.datetime(2020,2,1) >>> day2 = datetime.datetime(2020,1,5) >>> interval_day = (day1 - day2).days >>> print(interval_day) 27
7、計算程序運行時間間隔
>>> start_time = datetime.datetime.now() #過幾秒執行如下語句 >>> end_time = datetime.datetime.now() >>> seconds = end_time - start_time >>> seconds = (end_time - start_time).seconds >>> print(seconds) 22
8、根據給定的時間戮,返回一個date對象。
>>> datetime.date.fromtimestamp(1111111111)
datetime.date(2005, 3, 18)
9、datetime轉換為str。如果要將datetime對象格式化為字符串顯示給用戶,就需要通過strftime()轉換。
>>> cur_time = datetime.datetime.now() >>> cur_time.strftime('%Y-%m-%d %H:%M:%S') '2020-02-01 11:50:24'
10、str轉換為datetime。將用戶輸入的字符串格式的日期和時間通過datetime.strptime()轉換為datetime。
>>> day = datetime.datetime.strptime('2020-01-31 18:18:18','%Y-%m-%d %H:%M:%S') >>> print(day) 2020-01-31 18:18:18 >>> type(day) <class 'datetime.datetime'>
小結
本文包含了編碼過程中datetime模塊使用到的簡單實例。datetime模塊更多使用方法參考:https://docs.python.org/3/library/datetime.html