更新於 2024/12/09閱讀時間約 5 分鐘

Python 程式札記 : 日期和時間

Python 作為一門廣泛應用的程式語言,提供了多種處理日期和時間的方法和函式庫。本文將介紹 Python 中日期和時間的處理方式,涵蓋基本概念、常用函數,並通過實例來說明其應用。

日期和時間的基本概念

在 Python 中,日期和時間主要通過兩個模組datetimetime處理,這兩個模組提供了豐富的功能來創建、操作和格式化日期和時間。

datetime 模組提供的類別包括:

  • datetime:結合了日期和時間的類別。
  • date:僅表示日期的類別。
  • time:僅表示時間的類別。
  • timedelta:表示兩個日期或時間之間的時間差。

time 模組則著重於時間的測量和轉換,例如,獲取當前時間戳或將時間戳轉換為人類可讀的格式。

datetime 模組的使用方法

datetime 模塊是處理日期和時間的核心,以下是一些基本操作:

獲取當前日期和時間

import datetime

# 獲取當前日期和時間
now = datetime.datetime.now()
print("當前日期和時間:", now)

# 單獨獲取當前日期
today = datetime.date.today()
print("當前日期:", today)

日期和時間的格式化

import datetime

now = datetime.datetime.now()
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("格式化後的日期和時間:", formatted_date)

創建特定日期和時間

import datetime

specific_time = datetime.datetime(2023, 3, 14, 9, 26, 53)
print("特定日期和時間:", specific_time)

比較兩個日期

在 Python 中,可以直接使用比較運算符(如 <, >, ==)比較 datetime 對象。

import datetime

# 創建兩個日期對象
date1 = datetime.date(2023, 1, 15)
date2 = datetime.date(2023, 6, 20)

# 比較這兩個日期
if date1 < date2:
print(f"{date1} 在 {date2} 之前")
elif date1 > date2:
print(f"{date1} 在 {date2} 之後")
else:
print(f"{date1} 和 {date2} 是相同的日期")

timedelta 的應用

timedelta 用於表示兩個日期或時間之間的差異。它對於計算過去或未來的日期非常有用

import datetime

now = datetime.datetime.now()
one_week_later = now + datetime.timedelta(weeks=1)
print("一週後的日期:", one_week_later)

不同時間區間的處理方法

處理不同時間區的時間,可以使用第三方庫如pytz來實現更精確的時間控制。

import datetime
import pytz

tz_NY = pytz.timezone('America/New_York')
datetime_NY = datetime.datetime.now(tz_NY)
print("紐約時間:", datetime_NY.strftime("%Y-%m-%d %H:%M:%S"))

time 模組的使用方法

time 模塊主要用於處理與時間相關的功能,例如獲取當前時間、延遲程序執行等。

獲取當前時間戳

時間戳是指自某一固定時刻(通常是1970年1月1日)到當前時刻的總秒數。以下是如何使用time模塊獲取當前時間戳的示例:

import time

current_timestamp = time.time()
print("當前時間戳:", current_timestamp)

格式化日期和時間

time模塊也可以用於將時間戳轉換為人類可讀的日期和時間格式。

import time

current_timestamp = time.time()
local_time = time.localtime(current_timestamp)
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print("格式化後的本地時間:", formatted_time)

延遲程序執行

time.sleep() 函數可用於暫停程序執行指定的時間。這在許多場景中都很有用,比如在執行周期性任務時。

import time

print("程序開始執行。")
time.sleep(5) # 暫停5
print("程序恢復執行。")

time 和 datetime 模組的差異

time 模組則著重於時間戳記和與時間相關的功能,而datetime 模組提供了日期和時間的合併處理。


😊 感謝你的耐心閱讀,若是你喜歡這篇內容,可以透過以下方式表達你的喜歡 😊

❤️按個愛心|💬留言互動|🔗分享此文|📌追蹤阿梧|☕請喝咖啡


分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.