2017-01-29 6 views
0

私はそれを置くことができるだけ簡単なので、私は両方の文字列であり、次にdatetimeオブジェクトに変換される2つの日付時刻を持っています。 「datetime.timedelta」オブジェクトではなく、時間単位でフォーマットされた時間の違いを整数として返すにはどうすればよいですか?Python、時間の差を返す

>>> start = '2016-10-21 00:00:00' 
    >>> stop = '2017-01-5 10:05:19' 

    >>> start = datetime.datetime.strptime(start, "%Y-%m-%d %H:%M:%S") 
    >>> stop = datetime.datetime.strptime(stop, "%Y-%m-%d %H:%M:%S") 

    >>> stop - start 
    datetime.timedelta(76, 36319) 
+0

時間は分を無視しますか?または、必要に応じて丸めたり/下げたりできますか? – tburrows13

答えて

1
import datetime 

start = datetime.datetime.strptime(start, "%Y-%m-%d %H:%M:%S") 
stop = datetime.datetime.strptime(stop, "%Y-%m-%d %H:%M:%S") 

(stop-start).total_seconds()/3600 
1

次の操作を行うことにより秒にtimedeltaを変換することができます:

>>> datetime.timedelta(76, 36319).total_seconds() 
6602719.0 

あなたはそれに応じて数分または数時間にこれを変換することができます。

timedeltaが正確に完全な時間数ではなく数時間、数分/秒以上の時間を表すときは、何をすべきかを決める必要があります。