Python 速查手冊

12.2 時間日期處理 datetime

本書已有新版,請參考 Python 簡易手冊 - 目錄

datetime 中有基本的處理日期及時間的型態,如下表

型態說明
date處理日期的型態,可取得當地的年、月、日等。
time處理時間的型態,一日以 24 * 60 *60 計算。
datetime混合 date 及 time 的物件。
timedelta計算歷時期間的型態。
timezone處理時區資訊的型態。
datetimecalendartime 兩個模組有許多相似的功能。

其中 date 有以下常用的類別方法 (class method)

類別方法說明
today()回傳今天的日期物件

另有以下常用的實體方法 (instance method)

實體方法說明
replace(year=self.year, month=self.month, day=self.day)回傳參數指定的日期物件。
weekday()回傳星期幾的整數,星期一為 0 ,依序到星期天為 6 。
isoweekday()回傳星期幾的整數,星期一為 1 ,依序到星期天為 7 。
isocalendar()回傳 ISO 格式的日期序對,包括年、週及星期序數。
isoformat()回傳 ISO 格式的日期字串。
ctime()回傳日期時間的字串。

以下例子利用 date 物件計算今天是今年的第幾日

from datetime import date

today = date.today()
the_past = date(today.year, 1, 1)
time_to_past = abs(today - the_past)
print(time_to_past.days)

#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:dtdemo01.py
# 功能:示範 datetime 模組
# 作者:張凱慶

於命令列執行以上程式

$ python3 dtdemo01.py
63
$

其他像 datetime 可以綜合處理日期與時間,建構子 (constructor) 為

建構子說明
datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)回傳 datetime 物件。

回傳當地 datetime 物件的類別方法

類別方法說明
today()回傳當地 datetime 物件。
now(tz=None)回傳現在當地 datetime 物件。

以下為 datetime 物件唯讀的實體屬性 (instance attribute)

實體屬性說明
year西元紀年。
month月份。
day該月第幾日。
hour該日第幾時。
minute該時第幾分。
second該分第幾秒。

以下例子利用 datetime 物件顯示現在時間

from datetime import datetime

now = datetime.now()
now_str = str(now.hour) + ":" + str(now.minute) + ":" + str(now.second)
print(now_str)

#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:dtdemo02.py
# 功能:示範 datetime 模組
# 作者:張凱慶

於命令列執行以上程式,結果如下

$ python3 dtdemo02.py
10:20:56
$

相關教學影片

上一頁: 12.1 正規運算式 re
Python 速查手冊 - 目錄
下一頁: 12.3 數字精準度 decimal
回 Python 教材首頁
回程式語言教材首頁