Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách chuyển đổi giây sang định dạng giờ:phút:giây trong Python

Khi có số giây cần chuyển sang định dạng HH:MM:SS, có hai cách phổ biến: dùng divmod() (nhanh, không tạo đối tượng) hoặc datetime.timedelta (dễ đọc, chậm hơn).

Cách 1: Dùng divmod() - Hiệu quả cao

divmod(a, b) trả về cặp (a // b, a % b) chỉ với một phép chia.

seconds = 56741
minutes, seconds = divmod(seconds, 60)
hours, minutes = divmod(minutes, 60)
print(f"{hours}:{minutes:02d}:{seconds:02d}")

Kết quả

15:45:41

Cách 2: Dùng datetime.timedelta - Dễ hiểu

import datetime
td = datetime.timedelta(seconds=56741)
print(td)  # Tự động format HH:MM:SS

Kết quả

15:45:41

So sánh

Tiêu chídivmod()timedelta
Hiệu năngRất nhanhChậm hơn (tạo object)
Độ chính xácTùy chỉnh đượcGiới hạn ~999999999 ngày
Code3 dòng1 dòng

Khuyến nghị: Dùng divmod() cho hiệu năng cao hoặc lặp nhiều lần; dùng timedelta cho code đơn giản, dễ bảo trì.