Python3 #27: 日付(Dates)

独習 PYTHON 3

datetimeモジュールは、日付や時刻の操作に関する多くの機能を提供するPythonの標準ライブラリです。このモジュールを使用することで、日付や時刻の計算、フォーマット変換、比較などが簡単に行えます。以下に、datetimeモジュールの主要な機能と使用方法を紹介します。

1. datetimeモジュールのインポート

まず、datetimeモジュールを使用するには、インポートする必要があります。

import datetime

1.1. 現在の日付と時刻の取得

1.1.1. 現在の日時

now = datetime.datetime.now()
print("現在の日時:", now)

1.1.2. 現在の日付

today = datetime.date.today()
print("現在の日付:", today)

1.2. 日付と時刻の作成

1.2.1. 特定の日付を作成

d = datetime.date(2024, 6, 6)
print("特定の日付:", d)

1.2.2. 特定の時刻を作成

t = datetime.time(14, 30, 0)
print("特定の時刻:", t)

1.2.3. 特定の日時を作成

dt = datetime.datetime(2024, 6, 6, 14, 30, 0)
print("特定の日時:", dt)

1.3. 日付と時刻の操作

1.3.1. 日付の加算と減算

today = datetime.date.today()
tomorrow = today + datetime.timedelta(days=1)
yesterday = today - datetime.timedelta(days=1)
print("今日:", today)
print("明日:", tomorrow)
print("昨日:", yesterday)

1.3.2. 時刻の加算と減算

now = datetime.datetime.now()
one_hour_later = now + datetime.timedelta(hours=1)
one_hour_earlier = now - datetime.timedelta(hours=1)
print("現在の時刻:", now)
print("1時間後:", one_hour_later)
print("1時間前:", one_hour_earlier)

1.4. 日付と時刻のフォーマット

1.4.1. 日付と時刻を文字列に変換(フォーマット)

now = datetime.datetime.now()
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("フォーマットされた日時:", formatted_date)

使用できるフォーマットコードの例:

  • %Y: 年(4桁)
  • %m: 月(2桁)
  • %d: 日(2桁)
  • %H: 時(24時間表記)
  • %M: 分(2桁)
  • %S: 秒(2桁)

1.4.2. 文字列を日付と時刻に変換

date_string = "2024-06-06 14:30:00"
dt = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print("変換された日時:", dt)

2. 日付と時刻の比較

2.1. 日付の比較

from datetime import date

# 日付オブジェクトを作成
date1 = date(2024, 6, 6)
date2 = date(2023, 6, 6)

# 日付の比較
if date1 > date2:
    print(f"{date1}は{date2}より後の日付です。")
elif date1 < date2:
    print(f"{date1}は{date2}より前の日付です。")
else:
    print(f"{date1}は{date2}と同じ日付です。")

2.2. 時刻の比較

from datetime import time

# 時刻オブジェクトを作成
time1 = time(14, 30, 0)
time2 = time(12, 45, 0)

# 時刻の比較
if time1 > time2:
    print(f"{time1}は{time2}より後の時刻です。")
elif time1 < time2:
    print(f"{time1}は{time2}より前の時刻です。")
else:
    print(f"{time1}は{time2}と同じ時刻です。")

2.3. 日時の比較

from datetime import datetime

# 日時オブジェクトを作成
datetime1 = datetime(2024, 6, 6, 14, 30, 0)
datetime2 = datetime(2023, 6, 6, 12, 45, 0)

# 日時の比較
if datetime1 > datetime2:
    print(f"{datetime1}は{datetime2}より後の日時です。")
elif datetime1 < datetime2:
    print(f"{datetime1}は{datetime2}より前の日時です。")
else:
    print(f"{datetime1}は{datetime2}と同じ日時です。")

2.4.  現在の日時と指定日時の比較

now = datetime.now()
specified_datetime = datetime(2024, 6, 6, 14, 30, 0)

# 現在の日時と指定日時の比較
if now > specified_datetime:
    print(f"現在の日時{now}は指定した日時{specified_datetime}より後です。")
elif now < specified_datetime:
    print(f"現在の日時{now}は指定した日時{specified_datetime}より前です。")
else:
    print(f"現在の日時{now}は指定した日時{specified_datetime}と同じです。")

これらの方法を使用して、日付や時刻の比較を簡単に行うことができます。

3. datetimeモジュールのサンプルコード

以下に、datetimeモジュールの機能を活用したサンプルコードを示します。

import datetime

# 現在の日時
now = datetime.datetime.now()
print("現在の日時:", now)

# 特定の日付と時刻の作成
birthday = datetime.date(1990, 7, 1)
print("誕生日:", birthday)

meeting_time = datetime.time(15, 30)
print("会議の時間:", meeting_time)

# 日時の操作
one_week_later = now + datetime.timedelta(weeks=1)
print("1週間後の日時:", one_week_later)

# フォーマットされた日時
formatted_now = now.strftime("%Y-%m-%d %H:%M:%S")
print("フォーマットされた現在の日時:", formatted_now)

# 文字列を日時に変換
date_string = "2024-06-06 14:30:00"
converted_date = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print("変換された日時:", converted_date)

# 日付の比較
date1 = datetime.date(2024, 6, 6)
date2 = datetime.date(2023, 6, 6)
if date1 > date2:
    print(f"{date1}は{date2}より後の日付です。")
else:
    print(f"{date1}は{date2}より前または同じ日付です。")

これで、datetimeモジュールの基本的な使用方法が理解できたと思います。このモジュールを活用して、日付や時刻に関する操作を効率的に行うことができます。

購読
通知
0 Comments
Inline Feedbacks
View all comments