【Python】datetimeオブジェクトの生成と年・月・日などの属性取得方法

Pythonで特定の日時データをプログラム内で定義する場合、datetime クラスのコンストラクタを使用します。 作成した datetime オブジェクトからは、年、月、日、時、分、秒といった個別の情報を属性(アトリビュート)として簡単に取り出すことができます。

ここでは、特定の日時を指定してオブジェクトを生成し、その構成要素にアクセスする基本的な方法を解説します。

目次

datetimeコンストラクタの基本

datetime オブジェクトを生成する際は、最低でも「年・月・日」の3つの引数が必須です。時刻(時・分・秒・マイクロ秒)は省略可能で、省略した場合はすべて 0 になります。

# 構文
datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0)

実装例:イベント開始日時の定義と要素の取得

ここでは、架空のイベント「システムメンテナンス」の開始日時を定義し、その詳細情報を個別に表示するコードを実装します。

ソースコード

from datetime import datetime

# 特定の日時を指定してdatetimeオブジェクトを生成
# 引数の順序: 年, 月, 日, 時, 分, 秒
# ここでは 2025年12月31日 23時59分30秒 を指定
maintenance_start = datetime(2025, 12, 31, 23, 59, 30)

# 生成されたオブジェクトの確認
print(f"設定日時: {maintenance_start}")
print("-" * 20)

# 各属性(プロパティ)へのアクセス
# カッコ()は不要で、変数名.属性名 で取得できます
print(f"年 (year)   : {maintenance_start.year}")
print(f"月 (month)  : {maintenance_start.month}")
print(f"日 (day)    : {maintenance_start.day}")
print(f"時 (hour)   : {maintenance_start.hour}")
print(f"分 (minute) : {maintenance_start.minute}")
print(f"秒 (second) : {maintenance_start.second}")

実行結果

設定日時: 2025-12-31 23:59:30
--------------------
年 (year)   : 2025
月 (month)  : 12
日 (day)    : 31
時 (hour)   : 23
分 (minute) : 59
秒 (second) : 30

解説

  • オブジェクトの生成: datetime(2025, 12, 31, ...) のように数値を渡すことで、その日時の情報を持つオブジェクトが作られます。無効な日付(例:13月や32日など)を指定すると ValueError が発生するため、入力値の妥当性には注意が必要です。
  • 属性へのアクセス: 生成されたオブジェクトは d.yeard.hour のように、ドット . 繋ぎで各要素にアクセスできます。これらはメソッドではなく属性であるため、呼び出しに () は不要です。条件分岐(例:if d.hour < 12: で午前中の判定など)で頻繁に使用されます。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

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

目次