Tôi đã xem xét tất cả các xung quanh, và dường như có rất nhiều hack, nhưng không có cách đơn giản, "tốt" để làm điều này. Tôi muốn chuyển đổi một đối tượng Python datetime
thành microtime như trả về time.time()
(giây.microseconds).Trọn gói Python đến microtime
Cách tốt nhất để làm điều này là gì? Sử dụng mktime()
dải ra khỏi micro giây hoàn toàn, bạn có thể hình dung được một số timedelta
, nhưng điều đó có vẻ không đúng. Bạn cũng có thể sử dụng một số float(strftime("%s.%f"))
(tính số giây làm tròn chính xác), nhưng điều đó có vẻ giống như một siêu hack.
Cách "đúng" để thực hiện việc này là gì?
Nếu múi giờ cho đối tượng ngày giờ và múi giờ địa phương của bạn có thể không giống nhau, bạn nên sử dụng calendar.gmtime (dt.utctimetuple()) thay vì –
Tôi nghĩ bạn có nghĩa là 'calendar.timegm', và câu trả lời tương tự như phiên bản của Mark - có nghĩa là nó không đúng đối với các đối tượng' datetime' không phải là UTC. Thời gian từ thời đại cho tôi là giống như đối với một người nào đó ở UTC, không khác biệt với số tiền UTC của tôi. – agf
Nó luôn luôn đúng bất kể múi giờ của bạn, vì dt.utctimetuple trả về thời gian tuple của đối tượng datetime trong UTC. Và calendar.timegm mất một thời gian biểu utc. –