【Python】時刻(time)データの基本:timeオブジェクトの生成と属性取得

Pythonで「日付を含まない時刻のみ」を扱いたい場合(例:開店時間、アラーム設定時刻など)、datetime モジュールの time クラスを使用します。 datetime 型と異なり、年月日やタイムゾーン(デフォルトでは)の情報を持たず、純粋に「時・分・秒・マイクロ秒」を管理します。

ここでは、time オブジェクトの生成方法と、各要素へのアクセス方法を解説します。

目次

実装例:定刻の定義と要素の取得

特定の時刻(12時15分05秒)を定義し、その構成要素である時、分、秒を個別に取得するコード例です。

ソースコード

from datetime import time

# 1. 特定の時刻を指定して time オブジェクトを生成
# 引数の順序: (時, 分, 秒, マイクロ秒)
# 秒とマイクロ秒は省略可能(省略時は0)
scheduled_time = time(12, 15, 5)

print(f"設定時刻 (time): {scheduled_time}")
print("-" * 20)

# 2. 各属性へのアクセス
# カッコ()は不要で、変数名.属性名 で取得します
print(f"時 (hour)   : {scheduled_time.hour}")
print(f"分 (minute) : {scheduled_time.minute}")
print(f"秒 (second) : {scheduled_time.second}")

# マイクロ秒へのアクセス(指定していないので0)
print(f"マイクロ秒  : {scheduled_time.microsecond}")

実行結果

設定時刻 (time): 12:15:05
--------------------
時 (hour)   : 12
分 (minute) : 15
秒 (second) : 5
マイクロ秒  : 0

解説

timeオブジェクトの特性

  • 保持する情報: hour (0-23), minute (0-59), second (0-59), microsecond (0-999999) のみを持ちます。
  • 日付との関係: time オブジェクト単体では「いつの(何年の何月の)」という情報を持たないため、日付をまたぐ計算(例:23時から2時間後)などを単独で行うことはできません。そのような計算が必要な場合は datetime 型を使用してください。

文字列フォーマット

time オブジェクトも strftime() メソッドを持っており、任意の形式の文字列に変換可能です。

# 例: "12時15分" という文字列を作成
print(scheduled_time.strftime("%H時%M分"))
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次