Pythonで秒を時間・分に変換する4つの方法を紹介する

スポンサーリンク

今回は、Pythonを使って秒を時・分に変換する様々なテクニックを見ていきましょう。

スポンサーリンク

日付と時刻の把握

Pythonは多目的言語であるため、様々な用途に使用することができます

Pythonには、データの操作に関連するタスクを簡単に行うためのさまざまなライブラリが含まれています。

タイムスタンプの変換、つまり秒から時間や分への変換では、さまざまな異なる手法を検討することができます

ここでは、秒を時間、分などに変換するさまざまな方法を見てみましょう。

方法1:秒を時間や分に変換するPython関数を定義する

Python関数を定義することで、秒の値を時間や分などに変換することができます

まず、入力された秒の値を24時間制に変換します。

秒 = 秒 % (24*3600)

さらに、1時間は3600秒、1分は60秒に相当するので、以下のようなロジックで秒を時間と分に変換します。

時間 = 秒//3600

分 = 秒//60

例えば、以下の様になります。

def conversion(sec):
   sec_value = sec % (24 * 3600)
   hour_value = sec_value // 3600
   sec_value %= 3600
   min = sec_value // 60
   sec_value %= 60
   print("Converted sec value in hour:",hour_value)
   print("Converted sec value in minutes:",min)
    
sec = 50000
conversion(sec)

結果は以下の通りです。

Converted sec value in hour: 13
Converted sec value in minutes: 53

方法2:Pythonのtimeモジュールで秒から時、分への変換を行う

Pythonのtimeモジュールにはtime.strftime()関数があり、フォーマットコードを渡すことでタイムスタンプを指定したフォーマットの文字列として表示することができます

time.gmtime()関数は、関数に渡された値を秒に変換するために使用されます。

さらに、time.strftime() 関数はtime.gmtime() 関数から渡された値を指定されたフォーマットコードで時、分に変換して表示します。

例えば、以下の様になります。

import time
sec = 123455
ty_res = time.gmtime(sec)
res = time.strftime("%H:%M:%S",ty_res)
print(res)

結果は以下の通りです。

10:17:35

方法3:ナイーブ法

例えば、以下の様になります。

sec = 50000
sec_value = sec % (24 * 3600)
hour_value = sec_value // 3600
sec_value %= 3600
min_value = sec_value // 60
sec_value %= 60
print("Converted sec value in hour:",hour_value)
print("Converted sec value in minutes:",min_value)
   

結果は以下の通りです。

Converted sec value in hour: 13
Converted sec value in minutes: 53

方法4:Python datetimeモジュールで秒を時・分に変換する

Pythonのdatetimeモジュールには、日付と時刻を操作するためのさまざまな関数が組み込まれています。

datetime.timedelta()関数`は、データを操作し、適切な時間フォーマットで表現します。

例えば、以下の様になります。

import datetime
sec = 123455
res = datetime.timedelta(seconds =sec)
print(res)

結果は以下の通りです。

1 day, 10:17:35

まとめ

ここまでで、このトピックは終了です。

何か疑問があれば、お気軽にコメントください。

Pythonに関連する他の記事は、Python Pythonを参照してください。

タイトルとURLをコピーしました