Python日時
Python日付
Pythonの日付はそれ自体のデータ型ではありませんが、datetimeという名前のモジュールをインポートして、日付を日付オブジェクトとして扱うことができます。
日付出力
上記の例のコードを実行すると、結果は次のようになります。
2023-06-10 10:48:54.083766
日付には、年、月、日、時、分、秒、およびマイクロ秒が含まれます。
datetimeモジュールには、日付オブジェクトに関する情報を返すメソッドが多数あります。
以下にいくつかの例を示します。詳細については、この章の後半で説明します。
日付オブジェクトの作成
日付を作成するには、datetimeモジュールのdatetime()クラス(コンストラクター)を使用できます。
datetime()クラスには、日付を作成するために年、月、日の3つのパラメータが必要です。
datetime()クラスは、時刻とタイムゾーン(時、分、秒、マイクロ秒、tzone)のパラメーターも受け取りますが、これらはオプションであり、デフォルト値は0(タイムゾーンはNone)です。
strftime()メソッド
datetimeオブジェクトには、日付オブジェクトを読み取り可能な文字列にフォーマットするメソッドがあります。
このメソッドはstrftime()と呼ばれ、返される文字列の形式を指定する1つのパラメーターformatを受け取ります。
すべての法的な形式コードの参照:
| ディレクティブ | 説明 | 例 | 試してみましょう |
|---|---|---|---|
| %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 | ISO8601年 | 2018 | 試してみましょう" |
| %u | ISO8601平日(1-7) | 1 | 試してみましょう" |
| %V | ISO8601週番号(01-53) | 01 | 試してみましょう" |