2015-04-24 2 views
1

У меня есть процесс, начатый на X раз сейчас я хочу проверить продолжительность, поэтому я написал скрипт python для разграничения времени. Вот код, который дает мне второй в negative числе, я могу получить это значение в положительном без использования дополнительной split функцииразность во времени python во втором

>>> from datetime import datetime 
>>> a = datetime.now() 
>>> b = datetime.now() # after a few seconds 
>>> delta = a-b 
>>> delta.total_seconds() 
-6.655989 
+0

Я удалил ваше обновление, это относится к другому вопросу – Paco

ответ

4

Вы вычитанием позже даты ранее, вы должны полностью изменить логику:

b - a 

Вы можете использовать abs, но если вы знаете, какая из указанных дат наступит первым ненужно.

In [30]: from datetime import datetime  
In [31]: a= datetime.now()  
In [32]: b = datetime.now() # after a few seconds  
In [33]: delta = b - a  
In [34]: delta.total_seconds() 
Out[34]: 3.233579 
+0

Sweet! я не думал об этом, обращая его, как глупо :( – Satish

+0

Не беспокойтесь, время от времени может сбивать с толку в лучшие времена. –

+0

Я обновил свой вопрос дополнительным текстом, знаете ли вы, как я могу разделить время, если у меня есть в ' 13: 47: 06' format – Satish

1

abs будет делать трюк

>>> abs(-2.3) 
2.3 

The documentation состояния:

Возвращает абсолютное значение числа. Аргумент может быть простым или длинным целым числом или числом с плавающей запятой. Если аргумент представляет собой комплексное число , его величина возвращается.

0

datetimeподнимается как время продолжается, так что будет означать, что вы должны вычесть прошедшее время от текущего времени.

difference = now - past