在Python中,處理日期和時間的相關操作主要通過datetime
、time
和calendar
模塊來完成。這些模塊提供了豐富的功能來操作日期、時間、計算時間差以及格式化時間等。
datetime
模塊datetime
模塊是Python中最常用的日期和時間處理模塊。
使用datetime.datetime.now()
可以獲取當前的日期和時間。
from datetime import datetime
current_time = datetime.now()
print(f"當前日期和時間: {current_time}")
datetime.date.today()
可以獲取當前的日期,不包括時間。
from datetime import date
current_date = date.today()
print(f"當前日期: {current_date}")
date()
函數可以用來創建一個日期對象。
from datetime import date
my_date = date(2024, 10, 3) # 創建日期 2024年10月3日
print(f"創建的日期: {my_date}")
time()
函數可以用來創建一個時間對象。
from datetime import time
my_time = time(14, 30, 45) # 創建時間 14:30:45
print(f"創建的時間: {my_time}")
datetime()
函數可以創建一個日期和時間的組合對象。
from datetime import datetime
my_datetime = datetime(2024, 10, 3, 14, 30, 45) # 創建日期和時間
print(f"創建的日期和時間: {my_datetime}")
使用strftime()
方法可以將日期或時間格式化為不同的字符串格式。常用的格式代碼有:
%Y
:4位數的年份%m
:月份(01-12)%d
:日期(01-31)%H
:小時(00-23)%M
:分鐘(00-59)%S
:秒(00-59)
formatted_date = current_time.strftime("%Y-%m-%d %H:%M:%S")
print(f"格式化日期和時間: {formatted_date}")
使用strptime()
方法可以將日期或時間字符串解析為日期時間對象。
date_string = "2024-10-03 14:30:45"
parsed_date = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print(f"解析後的日期和時間: {parsed_date}")
time
模塊主要用來處理Unix
時間戳(自1970 年1月1日開始的秒數)以及一些簡單的時間操作。
time.time()
可以獲取當前的Unix
時間戳。
import time
timestamp = time.time()
print(f"當前時間戳: {timestamp}")
time.sleep()
用來讓程序暫停一段時間。參數為秒數。
print("等待 2 秒...")
time.sleep(2)
print("繼續執行")
time.localtime()
和time.gmtime()
可以將時間戳轉換為本地時間或UTC時間。
local_time = time.localtime(timestamp)
print(f"本地時間: {local_time}")
utc_time = time.gmtime(timestamp)
print(f"UTC 時間: {utc_time}")
timedelta
用來表示兩個日期或時間之間的差值。
from datetime import date, timedelta
date1 = date(2024, 10, 1)
date2 = date(2024, 10, 3)
diff = date2 - date1
print(f"兩個日期之間的差: {diff.days} 天")
可以使用timedelta
來增加或減少日期或時間。
from datetime import datetime, timedelta
now = datetime.now()
new_time = now + timedelta(days=5) # 當前時間增加5天
print(f"增加5天後的時間: {new_time}")
calendar
模塊可以用來操作和顯示日曆。
import calendar
year_calendar = calendar.calendar(2024)
print(year_calendar)
import calendar
month_calendar = calendar.month(2024, 10)
print(month_calendar)
使用calendar.isleap()
可以判斷某一年是否為閏年。
is_leap = calendar.isleap(2024)
print(f"2024 是閏年嗎?{is_leap}")