2010-06-23 41 views
6

Tôi nên sử dụng phương pháp thời gian hoặc giờ Python nào để chuyển đổi thời gian trong HH: MM: SS thành thời gian thập phân tính bằng giây? Thời gian đại diện cho khoảng thời gian (hầu hết là ít hơn một phút) và không được kết nối với một ngày.Thời gian thập phân bằng Python

Trả lời

12
t = "1:12:23" 
(h, m, s) = t.split(':') 
result = int(h) * 3600 + int(m) * 60 + int(s) 
7

Nếu bởi "thời gian thập phân" bạn có nghĩa là một số nguyên giây, sau đó bạn có thể muốn sử dụng datetime.timedelta:

>>> import datetime 
>>> hhmmss = '02:29:14' 
>>> [hours, minutes, seconds] = [int(x) for x in hhmmss.split(':')] 
>>> x = datetime.timedelta(hours=hours, minutes=minutes, seconds=seconds) 
>>> x 
datetime.timedelta(0, 8954) 
>>> x.seconds 
8954 

(Nếu bạn thực sự muốn có một Decimal, tất nhiên, nó đủ dễ dàng để đạt được điều đó ...)

>>> import decimal 
>>> decimal.Decimal(x.seconds) 
Decimal('8954') 
+0

Nhưng n.b. rằng nếu có một thành phần micro giây này sẽ cắt nó. –

0

Sử dụng datetime mô-đun:

>>> t = datetime.time(12,31,53) 
>>> ts = t.hour * 3600 + t.minute * 60 + t.second 
>>> print ts 
45113 
Các vấn đề liên quan