(五)time庫的使用

梁剑lj發表於2024-08-07

Python是一種功能強大的程式語言,其標準庫中包含了豐富的模組和函式,用於處理時間和日期資訊。其中,time模組提供了對時間的訪問和處理功能,使得程式設計師可以輕鬆地操作時間資料。本篇博文將詳細介紹time庫的使用方法,包括基本介紹、時間獲取方式、時間格式化和程式計時應用。

1. time庫基本介紹

Python中的time模組提供了與時間相關的各種函式,包括獲取當前時間、操作時間物件、執行緒延時等功能。使用time模組,可以方便地處理時間戳、時間格式化、程式計時等操作。

import time

2. 時間獲取的三種方式

在Python中,獲取時間的方式主要有三種:獲取當前時間戳、獲取本地時間和獲取UTC時間。

  • 獲取當前時間戳:時間戳表示從1970年1月1日零時整以來的秒數。可以使用time.time()函式獲取當前時間戳。

    import time
    timestamp = time.time()
    print("當前時間戳為:", timestamp)
    
  • 獲取本地時間:本地時間是指當前所在時區的時間。可以使用time.ctime()函式獲取當前的本地時間。

    import time
    local_time = time.ctime()
    print("當前本地時間為:", local_time)
    
  • 獲取UTC時間:UTC時間是協調世界時,也稱為格林威治標準時間。可以使用time.gmtime()函式獲取當前的UTC時間。

    import time
    utc_time = time.gmtime()
    print("當前UTC時間為:", utc_time)
    

3. 時間格式化

時間格式化是將時間物件轉換為特定格式的字串,便於人們閱讀和理解。Python中使用time.strftime()函式進行時間格式化。

import time

# 獲取當前時間的本地時間物件
local_time = time.ctime()

# 格式化時間輸出
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", ctime)
print("當前時間的格式化輸出為:", formatted_time)

strftime()函式中,可以使用不同的格式化字串來定義輸出的時間格式,例如

%Y:四位數的年份,例如:2024

%m:兩位數的月份(01-12),例如:08

%d:兩位數的日期(01-31),例如:07

%H:24小時制的小時數(00-23),例如:15

%M:兩位數的分鐘數(00-59),例如:30

%S:兩位數的秒數(00-59),例如:45

%a:本地簡化星期名稱,例如:Mon 到 Sun

%A:本地完整星期名稱,例如:Monday 到 Sunday

%b:本地簡化月份名稱,例如:Jan 到 Dec

%B:本地完整月份名稱,例如:January 到 December

%c:本地相應的日期和時間表示,例如:Tue Aug 7 10:30:45 2024

%I:12小時制的小時數(01-12),例如:03

%p:本地的AM或PM的等價符,例如:AM 或 PM

%j:一年中的第幾天(001到366),例如:365

%U:一年中的星期數(00到53),星期天作為一週的第一天,新年至少有幾天

4. 程式計時應用

程式計時是指測量程式執行的時間,可以用來評估程式的效能或者實現定時任務。Python中使用time模組進行程式計時非常簡單,透過記錄起始時間和結束時間來計算程式執行的時間消耗。另外,Python提供了time.perf_counter()函式,它返回系統執行時間的精確計數值(以小數秒為單位)。

import time

# 記錄起始時間
start_time = time.perf_counter()

# 模擬程式執行
time.sleep(2)  # 假設程式執行了2秒鐘

# 記錄結束時間
end_time = time.perf_counter()

# 計算程式執行時間
execution_time = end_time - start_time
print("程式執行時間為:", execution_time, "秒")

在上述示例中,使用了time.sleep(2)模擬程式執行了2秒鐘,然後time.perf_counter()計算了程式執行的實際時間。time.perf_counter()函式用來記錄程式開始和結束的精確時間點,計算得到的 execution_time 是以秒為單位的執行時間。這種方法通常用於效能測試和需要更精確時間測量的應用場景中。

相關文章