Python Datetime

Note: Python における日付は、独自のデータ型ではなく、日付オブジェクトとして扱うために datetime モジュールをインポートします。

Python Dates

Pythonにおける日付は独自のデータ型ではなく、日付オブジェクトとして扱うために datetime モジュールをインポートします。

datetime モジュールをインポートし、現在の日付を表示します:

import datetime

x = datetime.datetime.now()
print(x)

日付の出力

上記の例のコードを実行すると、次の結果が得られます:

2024-07-09 11:25:56.518891

日付には年、月、日、時、分、秒、マイクロ秒が含まれます。

datetime モジュールには、日付オブジェクトに関する情報を返す多くのメソッドがあります。

以下にいくつかの例を示しますが、この章の後半で詳しく学びます:

年と曜日名を返します:

import datetime

x = datetime.datetime.now()

print(x.year)
print(x.strftime("%A"))

日付オブジェクトの作成

日付を作成するには、datetime モジュールの datetime() クラス(コンストラクタ)を使用します。

datetime() クラスには、年、月、日の3つのパラメータが必要です:

日付オブジェクトを作成します:

import datetime

x = datetime.datetime(2020, 5, 17)

print(x)

datetime() クラスは、時間とタイムゾーン(時、分、秒、マイクロ秒、タイムゾーンの tzone)のパラメータも受け取りますが、これらはオプションで、デフォルト値は 0 です(タイムゾーンには None)。

strftime() メソッド

datetime オブジェクトには、日付オブジェクトを読みやすい文字列にフォーマットするためのメソッドがあります。

このメソッドは strftime() と呼ばれ、戻り値の文字列のフォーマットを指定するために format パラメータを取ります:

月の名前を表示します:

import datetime

x = datetime.datetime(2018, 6, 1)

print(x.strftime("%B"))

すべての有効なフォーマットコードの参照:

ディレクティブ 説明
%a 曜日の短いバージョン Wed
%A 曜日の完全なバージョン Wednesday
%w 曜日を 0-6 の数字で表現(0 は日曜日) 3
%d 月の日付 01-31 31
%b 月の名前の短いバージョン Dec
%B 月の名前の完全なバージョン December
%m 月を 01-12 の数字で表現 12
%y 世紀を含まない年の短いバージョン 18
%Y 年の完全なバージョン 2018
%H 時間を 00-23 で表現 17
%I 時間を 00-12 で表現 05
%p AM/PM PM
%M 分を 00-59 で表現 41
%S 秒を 00-59 で表現 08
%f マイクロ秒を 000000-999999 で表現 548513
%z UTC オフセット +0100
%Z タイムゾーン CST
%j 年の日数 001-366 365
%U 年の週番号(週の最初が日曜日) 00-53 52
%W 年の週番号(週の最初が月曜日) 00-53 52
%c 日付と時刻のローカルバージョン Mon Dec 31 17:41:00 2018
%C 世紀 20
%x 日付のローカルバージョン 12/31/18
%X 時間のローカルバージョン 17:41:00
%% パーセント記号 %
%G ISO 8601 年 2018
%u ISO 8601 曜日(1-7) 1
%V ISO 8601 週番号(01-53) 01