Pythonの日付と時刻

Pythonの日付と時刻
目次

日付と時刻の関数やメソッド

ロボ君

Pythonの日付と時刻の関数やメソッドは、datetime モジュールで提供されていマス。

datetime モジュールには、以下の関数やメソッドがあります。

  • datetime.date():日付オブジェクトを生成します。
  • datetime.time():時刻オブジェクトを生成します。
  • datetime.datetime():日付と時刻のオブジェクトを生成します。
  • datetime.now():現在の日付と時刻のオブジェクトを取得します。
  • datetime.strptime():文字列を日付または時刻のオブジェクトに変換します。
  • datetime.strftime():日付または時刻のオブジェクトを文字列に変換します。

カレンダープログラム

次のコードは、Pythonの日付と時刻の関数やメソッドを使用して、簡単なカレンダープログラムを作成しています。

import datetime

# 曜日を日本語で表示するためのディクショナリを作成
weekday_ja = {
    0: "日曜日",
    1: "月曜日",
    2: "火曜日",
    3: "水曜日",
    4: "木曜日",
    5: "金曜日",
    6: "土曜日",
}

# 現在の日付と時刻を取得
now = datetime.datetime.now()

# 年を取得
year = now.year

# 月を取得
month = now.month

# 日を取得
day = now.day

# 曜日を取得
weekday = now.weekday()

# カレンダーを表示
print("** カレンダー **")
print("年:", year)
print("月:", month)
print("日:", day)
print("曜日:", weekday_ja[weekday])

実行結果↓

# 年月日と曜日は実行した時点のものです。

** カレンダー **
年: 2023        
月: 10          
日: 6          
曜日: 木曜日

このコードは、以下の手順でカレンダーを表示しています。

  1. 曜日を日本語で表示するためのディクショナリを作成します。
  2. 現在の日付と時刻を取得します。
  3. 年、月、日を取得します。
  4. 曜日を取得します。
  5. 曜日をディクショナリから取得して、日本語で表示します。

曜日を英語で表示する場合は・・

# 曜日を取得
weekday = now.strftime("%A")
print(weekday)
りある

英語だとコードがシンプル。

日付と時刻の関数やメソッドの使用例

datetime モジュールの日付と時刻の関数やメソッドは、さまざまな用途に使用できます。

現在の日付と時刻を取得する

import datetime

# 現在の日付と時刻を取得
now = datetime.datetime.now()
print(now)

# 値は実行した時点のものです。
# 2023-10-06 22:27:46.374961

指定した日付と時刻のオブジェクトを生成する

import datetime

# 日付の指定
date = datetime.date(2023, 10, 25)
# 時刻の指定
time = datetime.time(12, 0, 0)
# 日付と時刻の指定
datetime = datetime.datetime(2023, 10, 25, 12, 0, 0)

print(date)
print(time)
print(datetime)

# 値は実行した時点のものです。
# 2023-10-25
# 12:00:00
# 2023-10-25 12:00:00

文字列を日付または時刻のオブジェクトに変換する

import datetime

# 文字列の代入
date_str = "2023-10-25"
time_str = "12:00:00"
datetime_str = "2023-10-25 12:00:00"

# 文字列を時刻に変換
date = datetime.datetime.strptime(date_str, "%Y-%m-%d")
time = datetime.datetime.strptime(time_str, "%H:%M:%S")
datetime = datetime.datetime.strptime(datetime_str, "%Y-%m-%d %H:%M:%S")

print(date)
print(time)
print(datetime)

# 値は実行した時点のものです。
# 2023-10-25 00:00:00
# 1900-01-01 12:00:00
# 2023-10-25 12:00:00

日付または時刻のオブジェクトを文字列に変換する

import datetime

# 日付・時刻の代入
date = datetime.date(2023, 10, 25)
time = datetime.time(12, 0, 0)
datetime = datetime.datetime(2023, 10, 25, 12, 0, 0)

# 日付・時刻を文字列に変換
str_date = date.strftime("%Y-%m-%d")
str_time = time.strftime("%H:%M:%S")
str_datetime = datetime.strftime("%Y-%m-%d %H:%M:%S")

print(str_date)
print(str_time)
print(str_datetime)

# 値は実行した時点のものです。
# 2023-10-25
# 12:00:00
# 2023-10-25 12:00:00
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次