HOWTO · Python
在 Python 中獲取當前年份
瞭解如何使用 Python 中的多種簡單方法獲取當前年份
本頁內容
使用 Python 標準函式庫的 datetime 模組取得當前年份。需要年份字串時,呼叫 datetime.datetime.now(),再用 strftime("%Y") 格式化日期;需要整數時,則呼叫 datetime.date.today() 並讀取它的 year 屬性。這兩種方法都會使用執行程式的電腦所提供的日期,因此當該電腦的日期跨入新的一年時,回傳的年份也會改變。
使用 strftime() 取得當前年份
strftime() 方法會將日期或時間格式化為字串。%Y 指示符會將年份格式化為四位數字的字串,適合用於顯示,或與其他格式化的日期部分組合。以下範例會取得目前日期並印出年份:
執行此範例:程式碼中的輸出標籤仍以英文呈現。
本節中的程式碼以及顯示的標籤或輸出仍為英文。
import datetime
current_date = datetime.datetime.now().date()
current_year = current_date.strftime("%Y")
print(f"Current year: {current_year}")
Current year: 2026
此處的 datetime.datetime.now() 會提供目前的當地日期和時間,而 .date() 會保留其中的日期部分。對該日期呼叫 strftime("%Y") 會回傳字串,而不是數字。例如,若執行環境的當前年份是 2026,current_year 的值就是字串 "2026"。顯示的年份取決於執行環境的時鐘;請勿將範例值視為往後年份仍會適用的當前年份。
你也可以使用其他格式指示符來加入日期的更多資訊。例如,%A %Y 會將星期名稱和年份格式化在一起。星期名稱會依所格式化的日期而異。所有指示符及其平台注意事項,請參閱 Python 的 strftime() 與 strptime() 格式碼文件。
使用 year 屬性取得當前年份
若直接使用數值年份較方便,可以取得 datetime.date 物件並讀取它的 year 屬性。datetime.date.today() 會直接回傳今天的日期,因此不必先建立 datetime.datetime 值,再將它轉換成日期。
執行此範例:程式碼中的輸出標籤仍以英文呈現。
本節中的程式碼以及顯示的標籤或輸出仍為英文。
import datetime
current_date = datetime.date.today()
current_year = current_date.year
print(f"Current year: {current_year}")
Current year: 2026
此處的 current_year 是整數,與 strftime("%Y") 回傳的字串不同。進行算術運算或比較時可使用這個整數;要在畫面上顯示或與其他字串組合時,則先將它轉換為文字。datetime.datetime.now().date() 和 datetime.date.today() 都會產生日期物件,其 year 屬性可作為 date.year 讀取;請依你已有的日期值選擇合適的寫法。例如,若程式已持有日期,就讀取該物件的屬性,不必再次取得今天的日期。這個屬性回報的是該日期物件所代表的年份;若物件代表過去或未來的日期,年份可能與當前年份不同。
這些範例使用電腦的當地日期。若應用程式需要特定時區的年份,請先使用帶有時區資訊的 datetime,再透過 astimezone() 將它轉換至該時區,然後讀取或格式化轉換後的 datetime 年份。這項轉換在新年交替前後尤其重要:同一個時間點在不同時區可能落在不同的日曆日期,甚至不同年份。一般的 date 不含時區資訊,因此請先選定時區,再從某個時間點推導日期。