日期和時間操作入門
讓我們從一個小小的思考開始:想像一下,如果電腦無法處理日期和時間。慘了! 我們最愛的裝置將完全無法在規劃和自動化任務中發揮作用。讓我們來看看, Python 是怎麼幫助我們不遲到重要會議,以及維持日常任務的自動化。
處理日期和時間是程式設計不可或缺的一部分,特別是在提到自動化的時候。 想像一下這樣的情景:你有需要每小時更新的報表,或者需要提醒你該休息一下的提示 (是啊,你已經坐在電腦前整整 5 個小時了!)。Python 提供了很多工具來處理日期和時間, 我們會在這堂課中詳細介紹。
1. 用於日期和時間的模組
在 Python 中,有幾個模組可以方便地處理日期和時間。我們將聚焦於三個主要模組:
datetime
、time
和 calendar
。
-
datetime
:我們處理日期和時間的大部分工作都會用到它。 它提供了用於處理單個日期、時間以及它們的組合的類別。 -
time
:這個模組提供了用於處理低層次時間表達的函數, 通常用於與系統時間交互。 -
calendar
:幫助你處理日曆(嗯,這個好理解)。
datetime
模組的主要函數和類別
我們來深入了解 datetime
模組,並探討它的核心組件。
date
類別
這個類別用於處理日期。它允許設置和更改年份、月份和日期,而不需要與時間相關聯。
from datetime import date
# 創建 date 對象
my_birthday = date(1990, 12, 25)
print("我生日的日期:", my_birthday)
time
類別
顧名思義,這個類別專注於時間——小時、分鐘和秒。對於需要單獨處理時間而非日期的情況,它特別實用。
from datetime import time
# 創建 time 對象
meeting_time = time(14, 30) # 14:30
print("會議時間安排在:", meeting_time)
datetime
類別
最通用的類別,將日期和時間結合成一體。
from datetime import datetime
# 獲取當前日期和時間
now = datetime.now()
print("當前的日期和時間:", now)
2. 使用 datetime
模組獲取當前日期和時間
獲取當前日期和時間是規劃和自動化的基礎。在 datetime
中,有幾個方便的方法來達成這個目的。
獲取當前日期和時間
借助 datetime.now()
和 datetime.today()
方法,
你可以輕鬆獲取當前的日期和時間。
now = datetime.now()
print("當前日期和時間 (now):", now)
today = datetime.today()
print("當前日期 (today):", today)
處理 datetime
對象
datetime
對象允許你提取時間的組件,如年份、月份、日期等。
還有一點很重要,那就是本地時間和全球時間(UTC)之間的差異。
year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
second = now.second
print(f"今天是: {day}/{month}/{year}, 時間是: {hour}:{minute}:{second}")
在實現應用程式時,務必要記住本地時間和 UTC 時間的差異, 因為世界很大,每個人都有自己的時鐘!
3. 實際任務中使用當前日期和時間的示例
假如你需要每小時從某個來源提取數據。這可以通過比較當前時間和上次提取的時間來輕鬆自動化。例如:
from datetime import timedelta
last_run = datetime.now() - timedelta(hours=1)
current_time = datetime.now()
# 如果上次運行已超過一小時
if current_time - last_run > timedelta(hours=1):
print("該更新數據了!")
last_run = current_time
這段代碼有效地提醒我們只有在超過一小時後才需要做一些事情。
注意使用 timedelta
進行時間的數學操作是多麼方便。
GO TO FULL VERSION