1. Python DateTime,TimeDelta,Strftime(Format)及其示例
在Python中,date,time和datetime類提供了許多函數來處理日期、時間和時間間隔(time interval)。 Date和DateTime是Python中的對象,因此在操作它們時,實際上是在操作對象,而不是字符串或時間戳。每當您操縱日期或時間時,都需要導入DateTime函數。
Python中的DateTime類主要分為5類。
- date —日期(月,日,年)
- time-一天中時間(小時,分鍾,秒,微秒)
- DateTime-時間和日期的組合(月,日,年,小時,秒,微秒)
- time delta —用於操縱日期的時間段
- tzinfo —處理時區的抽象類
第1步)在為DateTime運行代碼之前,請務必導入date-time模塊,如下麵的屏幕快照所示。
這些import語句是Python庫中預定義的功能,可讓您無需編寫任何代碼即可操縱日期和時間。
第2步)接下來,創建日期對象的實例。
第三步)接下來,打印日期並運行代碼。
使用date.today()打印日期
date.today
函數具有與之關聯的幾個屬性。我們可以單獨打印日/月/年以及其他內容
我們來看一個例子
Python當前日期和時間: now() today()
第1步)像日期對象一樣,我們在Python中也可以使用日期時間(datetime)對象。它給出日期和時間小時、分鍾、秒和毫秒。
第2步)使用datetime對象,您還可以調用time類。
假設我們隻想打印當前時間而不顯示日期。
第3步)我們將工作日索引應用到工作日的ArrayList中,以了解今天是哪一天
- 根據當前工作日的不同,為工作日的運算符(wd)分配(0–6)編號。在這裏,我們聲明了幾天的列表數組(星期一,星期二,星期三…星期日)。
- 使用該索引值可以知道是哪一天。在我們的例子中,它是#0,代表星期一,因此在輸出中,它將打印出“which is a monday”。
如何使用 Strftime()格式化日期和時間輸出
到目前為止,我們已經了解了如何在Python中使用DateTime和Date對象。我們將進一步學習如何使用格式化功能來格式化時間和日期。
第1步)首先,我們將看到一個簡單的如何格式化年份的步驟。通過一個例子來理解。
- 我們使用了“strftime函數”用於格式化。
- 此函數使用不同的控製碼提供輸出。
- 每個控製代碼類似於不同的參數,例如年,月,周日和日期[(%y /%Y-年),(%a /%A-工作日,(%b /%B-月),(%d-月中的天)]]。
- 在我們的例子中,(“%Y”)類似於年份,它打印出帶有世紀的完整年份(例如,2018年)。
第2步)現在,如果將(“%Y”)替換為小寫字母(即“%y”)並執行代碼,則僅輸出(18),而不顯示(2018)。年份的世紀將不會顯示,如下麵的屏幕截圖所示
第3步)Strftime函數可以分別聲明日期,日,月和年。同樣,在strftime函數中對控製代碼進行小的更改後,即可設置文本樣式的格式。
在strftime函數內部,如果將(%a)替換為大寫字母A,即(%A),輸出將輸出為“Friday”,而不是縮寫“Fri”。
第4步)借助“strftime”函數,我們還可以檢索本地係統時間,日期或日期時間。
- %C-表示本地日期和時間
- %x-表示本地日期
- %X-表示本地時間
第5步驟)“strftime”函數允許您以24小時格式或12小時格式調用時間。
如何使用Timedelta對象
使用timedelta對象,您可以計算未來和過去的時間。換句話說,預測任何特殊的日期,日期或時間都是一個時間跨度。
請記住,此功能不是用於打印時間或日期,而是用於計算未來或過去的時間內容。讓我們看一個例子,以更好地理解它。
第1步)要運行Timedelta對象,您需要先聲明import語句,然後執行代碼
第2步)讓我們獲取今天的日期和時間,以檢查我們的導入聲明是否運行良好。執行代碼後,它會打印出今天的日期
第3步)我們將看到如何通過delta對象計算離現在now()一年後的日期。當我們運行代碼時,它將給出預期的輸出。
第4步)如何使用時間增量(time delta)從當前日期和時間計算未來日期的另一個示例
步驟5)讓我們看一個更複雜的例子。我想確定新年後一共過去了多少天。
- 使用today = date.today(),我們將獲得今天的日期
- 我們知道新年總是在1月1日,但是這一年可能會有所不同。使用nyd = date(today.year,1,1),我們將新年存儲在變量nyd中
- 如果nyd <today:比較當前日期是否大於新年。如果是,則進入while循環
- (((today-nyd).days)給出當前日期和新年之間的差異(以DAYS為單位)
總結
為了以簡單和複雜的方式處理日期和時間,DateTime模塊提供了不同的時間類或類別,例如
- date —操作日期(月,日,年)
- 時間-一天中的時間(小時,分鍾,秒,微秒)
- DateTime-時間和日期的組合(月,日,年,小時,秒,微秒)
- timedelta —用於操縱日期的時間長度
- tzinfo —處理時區的抽象類
使用DateTime對象
- 在執行代碼之前必須導入DateTime對象
- 使用date.today函數可打印單個日期/月份/年份以及索引日期
- 使用date.time對象獲取小時、分鍾、秒和毫秒的時間
使用“strftime”函數格式化時間輸出
- 使用“strftime”函數更改年份的格式
- 分別打印日期、日期、月份和年份,
- 格式化時間為12小時或24小時模式
Timedelta對象
- 使用timedelta對象,您可以計算未來和過去的時間
- 計算從當前時間到特殊日期(生日)剩餘的總天數
- 計算從當前時間算起的特定天(生日)經過的總天數
以上代碼的Jupyter文件在此鏈接中可以找到: