CodeGym /Adesua ahorow /Python SELF TW /格式化日期和時間以製作報告和日誌

格式化日期和時間以製作報告和日誌

Python SELF TW
等級 39 , 課堂 2
開放

1. 格式化日期和時間

歡迎來到我們關於 Python 日期和時間處理的第三堂課!今天我們要討論一個超重要的主題,它不僅會讓你的報告和日誌更有功能性,還會更美觀——這就是日期和時間的格式化。讓我們讓你的報告變得既漂亮又方便,畢竟沒有人喜歡亂七八糟的代碼!

你是否想過,為什麼在某些報告中,日期看起來這麼奇怪?這就像要在標準之間選擇:選擇 ISO 8601 來讓同事印象深刻,還是保留習慣的格式?那麼,來看看如何通過 Python 整潔地格式化日期和時間,讓它看起來像你是一位完全知道自己在做什麼的程式設計師。

在 Python 的世界裡,有一個很棒的方法 strftime(),它允許你將 datetime 對象轉換成你希望的字符串格式。讓我們從基本語法開始,然後看看一些格式化的例子。

Python

from datetime import datetime

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

# 將當前日期和時間格式化為可讀字符串
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("當前日期和時間:", formatted_date)

常用的格式化代碼:

  • %Y: 完整年份(例如,2023)
  • %m: 月份以數字表示(例如,01 表示一月)
  • %d: 一個月中的日期(例如,01 表示第一天)
  • %H: 24小時制的小時數
  • %M: 分鐘
  • %S: 秒數

現在,我們可以將日期和時間轉換過來,那麼讓我們來選擇適合我們應用的眾多格式之一。事實上,你知道嗎?在程式設計的世界裡,如果你不知道日期是以哪種格式呈現的,你可以為此寫一本書,然後才找到合適的選項?

用於日誌和報告的格式化範例

格式化不僅僅是關乎美觀。它還涉及為他人提供易讀的信息。格式化的應用案例多種多樣:

  1. 文件日誌:

    如果你的腳本將事件寫入日誌文件,通常需要記錄事件的發生時間。這不僅能幫助追踪腳本的工作進程,還能簡化調試。

    Python
    
    log_time = now.strftime("%Y-%m-%d %H:%M:%S")
    log_entry = f"[{log_time}] 事件:腳本開始執行。"
    print(log_entry)
    
  2. 報告和文件:

    如果你生成 PDF 或 Excel 報告,在標題或頁腳中使用格式化的日期可能是一個很大的好處。

    Python
    
    report_date = now.strftime("%d.%m.%Y")
    print(f"報告生成日期為: {report_date}")
    

格式化的靈活性

你可以組合格式化代碼,創建幾乎任何你需要的格式。

假設你需要像舊電影一樣的格式,以讓你的老闆印象深刻:

Python

vintage_format = now.strftime("%A, %B %d, %Y at %I:%M %p")
print("復古日期:", vintage_format)

這裡 %A, %B, %I, %p 代碼分別用於輸出完整的星期名稱、完整的月份名稱、12小時制的時間和 AM/PM 標識。有時候,帶點復古風格能讓現代的報告更有趣!

常見錯誤及如何避免

當談到格式化時,一個常見的錯誤是錯誤使用格式代碼。例如,將小寫的 m 替換成大寫的 M 在輸出分鐘或月份時可能會導致搞笑的結果。這種時候,如果格式化代碼不偶爾起作用,基本的格式化可能會變成一場錯誤喜劇。

如果你對語法有疑問,請始終參考 Python 的官方文檔 strftime() 和 strptime()

格式化的實際應用

假設你寫了一個每小時從網站上收集統計數據的腳本。所有的數據都保存在 CSV 裡,每個文件都以收集數據運行時的日期和時間命名。以下是如何實現這一功能的範例:

Python

import os

def save_data(data):
    file_time = datetime.now().strftime("%Y%m%d_%H%M%S")
    file_name = f"data_{file_time}.csv"
    # 在這裡分離你的邏輯,專注數據的保存
    print(f"數據已保存至文件: {file_name}")

# 模擬數據和函數調用
dummy_data = "各種有用的信息"
save_data(dummy_data)

為文件名稱附帶日期,不僅簡化了數據的組織,還方便需要時的查找。

日期和時間的格式化是一項技能,它為自動化世界打開了許多大門。你的腳本會更加精確,報告更直觀,也是一個讓人賞心悅目的好理由。誰能想到,僅僅格式化就能帶來這麼多快樂?

在此,我們完成本次講座。不要忘記練習不同的格式,創造你自己的獨特報告和日誌。我們在下一次課程再見,屆時我們將研究時間間隔,以及它們如何幫助用基於時間的方式自動化任務。

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION