Câu trả lời:
các time
mô-đun là chủ yếu để làm việc với tem thời gian unix; được biểu thị dưới dạng số dấu phẩy động được tính bằng giây kể từ kỷ nguyên unix. các datetime
mô-đun có thể hỗ trợ rất nhiều các hoạt động tương tự, nhưng cung cấp một bộ hướng đối tượng hơn về chủng loại, và cũng có một số hạn chế hỗ trợ cho các múi giờ.
time
để ngăn chặn sự mơ hồ DST.Sử dụng độc quyền time
mô-đun hệ thống thay vì datetime
mô-đun để ngăn chặn các vấn đề mơ hồ với thời gian tiết kiệm ánh sáng ban ngày (DST) .
Chuyển đổi sang bất kỳ định dạng thời gian nào, bao gồm cả giờ địa phương, khá dễ dàng:
import time
t = time.time()
time.strftime('%Y-%m-%d %H:%M %Z', time.localtime(t))
'2019-05-27 12:03 CEST'
time.strftime('%Y-%m-%d %H:%M %Z', time.gmtime(t))
'2019-05-27 10:03 GMT'
time.time()
là số dấu phẩy động biểu thị thời gian tính bằng giây kể từ kỷ nguyên hệ thống. time.time()
là lý tưởng cho thời gian dập rõ ràng.
Nếu hệ thống chạy thêm giao thức thời gian mạng (NTP) , thì kết thúc với một cơ sở thời gian khá vững chắc.
Dưới đây là tài liệu của time
mô-đun.
time.localtime()
, tất nhiên là có DST được nướng. Nếu chúng ta sẽ là người theo chủ nghĩa thuần túy, chúng ta không nên sử dụng time.gmtime()
thay thế? :)
ipython
chương trình time.gmtime()
mang lại một tuple, trong khi đó time.time()
cung cấp thời gian kỷ nguyên UNIX dưới dạng một giá trị thập phân duy nhất của giây trôi qua kể từ 00:00:00 UTC, Thứ Năm, ngày 1 tháng 1 năm 1970. Hàm này time.localtime(t)
chuyển đổi thời gian kỷ nguyên thành cục bộ thời gian tuple. Vì vậy, câu trả lời cho câu hỏi của bạn là «không».
t = time.time()
là một số dấu phẩy động biểu thị thời gian tính bằng giây kể từ kỷ nguyên hệ thống. Do đó, người ta có thể chỉ cần thêm hoặc bớt 86400 giây cho mỗi ngày; t += 86400
Mô-đun thời gian có thể được sử dụng khi bạn chỉ cần thời gian của một bản ghi cụ thể - như giả sử bạn có một bảng / tệp riêng biệt cho các giao dịch cho mỗi ngày, sau đó bạn sẽ chỉ cần thời gian. Tuy nhiên, kiểu dữ liệu thời gian thường được sử dụng để lưu trữ chênh lệch thời gian giữa 2 điểm thời gian.
Điều này cũng có thể được thực hiện bằng cách sử dụng datetime, nhưng nếu chúng ta chỉ xử lý thời gian cho một ngày cụ thể, thì mô-đun thời gian có thể được sử dụng.
Datetime được sử dụng để lưu trữ một dữ liệu cụ thể và thời gian cho một bản ghi. Giống như trong một cơ quan cho thuê. Ngày đáo hạn sẽ là kiểu dữ liệu datetime.
Nếu bạn quan tâm đến múi giờ, bạn nên xem xét việc sử dụng pytz.
time
và làdatetime.time
gì?