2011-09-20 35 views
80

Tôi đang cố gắng tìm ra sự khác biệt giữa các mô-đun datetimetime và mỗi mô-đun nên được sử dụng để làm gì.Sự khác biệt giữa các mô-đun datetime và thời gian của Python

Tôi biết rằng datetime cung cấp cả ngày và giờ. Việc sử dụng mô-đun time là gì?

Ví dụ sẽ được đánh giá cao và sự khác biệt liên quan đến múi giờ sẽ đặc biệt quan tâm.

Trả lời

62

mô-đun time 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. mô-đun datetime có thể hỗ trợ nhiều hoạt động giống nhau, nhưng cung cấp nhiều loại đối tượng theo định hướng hơn và cũng có một số hỗ trợ giới hạn cho múi giờ.

+7

Hơn nữa, sự khác nhau giữa 'thời gian' và' datetime.time' là gì? – SparkAndShine

+0

Sẽ được tốt đẹp để chi tiết tài sản như thể đó là thời gian thực/đơn điệu. Giống như trong tiêu chuẩn POSIX bạn có: CLOCK_REALTIME, CLOCK_MONOTONIC, CLOCK_THREAD, v.v ... Trên đồng hồ POSIX, hãy xem: http://stackoverflow.com/questions/3523442/difference-between-clock-realtime-and-clock-monotonic –

3

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ư cho phép bạn có bảng/tệp riêng biệt cho các giao dịch cho mỗi ngày, sau đó bạn 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ữ thời gian khác biệt giữa 2 thời điểm.

Đ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.

Thời gian được sử dụng để lưu trữ dữ liệu và thời gian cụ thể cho bản ghi. Giống như trong một cơ quan cho thuê. Ngày đến hạn sẽ là một kiểu dữ liệu datetime.

3

Nếu bạn quan tâm đến múi giờ, bạn nên cân nhắc việc sử dụng pytz.

+4

có vẻ như hes quan tâm nhất đến các mô-đun thời gian và datetime và sự khác biệt về múi giờ giữa chúng. với tất cả sự tôn trọng, mang lại sự phụ thuộc vào điều này là khá nhiều không liên quan. – sbartell

+2

Sự hỗ trợ của múi giờ trong cả thời gian và mô-đun datetime thực sự rất kém ... nếu anh ta thực sự quan tâm đến việc xử lý múi giờ một cách hữu ích thì anh ấy thực sự nên biết về pytz. Bạn mang phụ thuộc để giải quyết vấn đề rằng các phụ thuộc hiện tại của bạn không giúp bạn giải quyết vấn đề của mình ... – donkopotamus

0

Gắn vào time để ngăn không rõ ràng DST.

Cá nhân, tôi chỉ muốn sử dụng hệ thống time mô-đun để prevent ambiguity issues with daylight savings time (DST).

Chuyển đổi sang bất kỳ định dạng thời gian kể cả thời gian địa phương từ đó là khá dễ dàng:

import time 
t = time.time() 
t_str = time.strftime('%Y-%m-%d %H:%M %Z', time.localtime(t)) 

Nếu hệ thống của bạn thêm chạy network time protocol (NTP) daemon, bạn sẽ có cơ sở thời gian khá vững chắc.

Các vấn đề liên quan