2つの日付時刻を互いに減算し、Python 2.7でHH:MM:SSを返す

2020-02-14 python-2.7 date datetime

互いに引き算したい2つの日時文字列があり、返事を返したい Python 2.7を使用したHH:MM:SS形式。たとえば、 "2019-01-22 10:46:34""2019-01-22 10:30:34"あり、この00:16:00ようなものを返すようにし00:16:00 。時刻を整数に変換しようとしましたが、元に戻すことができないようです。日時モジュールも試しました。以下は、私が試したものの、関数に変換したい初歩的な例です。

from datetime import datetime
a = "2019-01-22 10:46:34"
b = "2019-01-22 10:30:25"
c = a-b
print(datetime.time(c, '%Y-%m-%d %H:%M:%S')

私はこの問題に数日間取り組んでいるので、どんな助けでも大歓迎です。

Answers

timedeltaオブジェクトを見てください。

これにより、2つのdatetimeオブジェクトの秒datetimeの差を取得でき、その後、Minutes Hoursなどを計算できます。

timedelta 、2つのdatetimeオブジェクトabctimedeltaオブジェクトになります。

import datetime 

# datetime object (year, month, day, hour, minute, second) 
a = datetime.datetime.strptime("2019-01-22 10:46:34", "%Y-%m-%d %H:%M:%S")
b = datetime.datetime.strptime("2019-01-22 10:30:25", "%Y-%m-%d %H:%M:%S")

# returns timedelta object 
c = a-b  
print('Difference: ', c) 

# return (minutes, seconds) 
minutes = divmod(c.seconds, 60)  
print('Difference in minutes: ', minutes[0], 'minutes', 
                                 minutes[1], 'seconds')

編集: divmod()は、分と秒の観点から打者の結果を取得するために使用されますが、単に書くこともできます

minutes = c.seconds / 60
print('Difference in minutes: ', minutes)

出力: Difference in minutes: 16 minutes 9 seconds

Related