2013-11-10 4 views
2

Что здесь происходит?Python datetime необъяснимая разница между секундами и микросекундами

>>> a = datetime.datetime.now() 
# waiting.... 
>>> b = datetime.datetime.now() 
>>> c = b - a 
>>> c.seconds 
4 
>>> c.microseconds 
884704 

Как микросекунды могут быть в 2 раза больше, чем в секундах? Я бы хотел, чтобы точность микросекунд (а затем преобразовать его в несколько секунд), но это кажется просто неправильным.

ответ

6

884704 мкс микросекунды 0.884704 секунд.

>>> c = datetime.timedelta(seconds=4, microseconds=884704) 
>>> c.seconds 
4 
>>> c.microseconds 
884704 
>>> print(c) 
0:00:04.884704 

Чтобы получить общее количество секунд, вы можете использовать total_seconds():

>>> c.total_seconds() 
4.884704 
+0

Ах, так что я должен был бы добавить их в общее время, как получить общее время, в плавающее число микросекунд? – PascalVKooten

+1

@Dualinity, используйте метод 'total_seconds()'. Я добавил это. – falsetru

+0

Отлично, спасибо. – PascalVKooten

Смежные вопросы