Pythonのプログラムにおいて、timeモジュールを利用した経過時間の測定の方法の記事は既にたくさんあり非常に勉強になったのですが、
「03:14:15」のように時:分:秒で表示する方法が出てこなかったため書き残しておきます。
といっても、timeモジュールを利用して秒で経過時間を計算し、それを泥臭く変換しているだけです。
import time
# get time when the program stated
start_time = time.time()
"""
Your program here
"""
# calculate elapsed time
elapsed_time = int(time.time() - start_time)
# convert second to hour, minute and seconds
elapsed_hour = elapsed_time // 3600
elapsed_minute = (elapsed_time % 3600) // 60
elapsed_second = (elapsed_time % 3600 % 60)
# print as 00:00:00
print(str(elapsed_hour).zfill(2) + ":" + str(elapsed_minute).zfill(2) + ":" + str(elapsed_second).zfill(2))
####■経過時間の測定
time.time()
で現在時刻を取得します。
これをプログラムの開始前と終了後に行い、差分を計算します。
ミリ秒などの細かい数字は不要なのでint型に変換しています。
####■秒→時分秒 の変換
秒を3600で割った商を時、
その余りを60で割った商を分、
その余りを秒、
としています。
####■00:00:00で表示する
.zfill()
を使って、それぞれの数字が1桁だった場合、頭に0をつけるようにしています。
.zfill()
はstr型に使えるようです。
今回の場合、2桁としたいので .zfill(2)
としています。
#####※参考記事
Python Tips:Python でゼロパディングしたい