Pythonで秒数を「時:分:秒」形式に変換する方法
関数が秒単位の情報を返す場合でも、実際には「時:分:秒」形式で表示したいというケースはよくあります。そんなときに便利なのが divmod() 関数です。この関数は1回の除算で商と余りの両方を同時に求めることができるため、わずか2回の数学的操作だけで素早く結果を得られます。
divmod()を使った変換例
seconds = 56741
m, s = divmod(seconds, 60)
h, m = divmod(m, 60)
print("%d:%02d:%02d" % (h, m, s))出力結果
上記のコードを実行すると、次のような出力が得られます。
15:45:41
%02d は分と秒を必ず2桁で表示するためのフォーマット指定子です。これにより、「15:5:41」ではなく「15:05:41」のように整形され、見やすくなります。
また、標準ライブラリの datetime.timedelta を使っても同じ結果を得ることができます。ただし、divmod() を使う方法に比べるとパフォーマンス面ではやや劣ります。
timedeltaを使った変換例
import datetime timedelta_obj = datetime.timedelta(seconds=56741) print(timedelta_obj)
出力結果
このコードも同様に、次の出力を返します。
15:45:41
-
Pythonで日付文字列をタイムスタンプに変換する方法【mktime活用】
Pythonで日付を表す文字列をタイムスタンプ(UNIX時間)に変換したい場合、「time」パッケージに含まれるmktimeメソッドを使用するのが一般的です。この記事では、具体的なコード例と実行結果をもとに、その手順をわかりやすく解説します。 サンプルコード import time import datetime my_string = 24/03/2021 print(The date string is :) print(my_string) print(The timestamp is :) print(time.mktime(datetime.datetime.strptime(my
-
Pythonで時系列データをプロットする方法をわかりやすく解説
Pythonのmatplotlibを使えば、時系列データ(日時を軸にしたデータ)を簡単にグラフ化できます。ここでは、datetimeオブジェクトを含むデータを折れ線グラフとして描画する基本的な手順を紹介します。 時系列プロットの基本手順 numpyを使用して、x軸(日時データ)とy軸(数値データ)を作成します。 plot()メソッドを使って、作成したx・yのデータをプロットします。 show()メソッドを実行して、図を画面に表示します。 コード例 以下のサンプルコードでは、2021年1月1日の0時から23時までの24個の日時データを生成し、それに対応するランダムな数値をy軸としてプロットし