Python学習を進める中で、
今回は Udemyの演習問題 としてdatetime モジュールを使った日付取得に取り組みました。

■ Udemy演習問題の内容
今回取り組んだ演習問題はこちらです。
今日の日付を取得し、
「yyyy/mm/dd」という表記の文字列として print してください。
※ “yyyy/mm/dd” という文字列をそのまま扱うのは不可
一見シンプルですが、
- 今日の日付を 動的に取得する
- 指定フォーマットの 文字列に変換する
という、実務に近い条件が含まれています。
■ datetime モジュールで現在日時を取得する
まずは Python 標準ライブラリの datetime を使います。
from datetime import datetime
now = datetime.now()
この時点で now には、
- 年
- 月
- 日
- 時
- 分
- 秒
を含んだ datetime オブジェクト が入ります。
■ datetime をそのまま表示するとどうなるか
print(now)
出力例:
2025-12-14 08:45:12.345678
この形式はプログラム的には正しいですが、
演習問題で指定されている
「yyyy/mm/dd」形式の文字列 ではありません。
■ strftime() を使って文字列に変換する
ここで使うのが strftime() です。
print(now.strftime('%Y/%m/%d'))
出力例:
2025/12/14
これで、
- 今日の日付を取得
- 指定フォーマットの文字列に変換
- 条件どおり print
という演習問題の要件をすべて満たせました。
■ strftime() でよく使う指定子
| 指定子 | 内容 |
|---|---|
| %Y | 年(4桁) |
| %m | 月(2桁) |
| %d | 日(2桁) |
他にも、
now.strftime('%Y-%m-%d %H:%M:%S')
のように、時刻まで含めた表示も可能です。
■ Udemy演習で学んで感じたこと
Udemyの演習問題は、
- 条件が明確
- 「なぜその書き方をするのか」を考えさせられる
という点で、とても良い練習になります。
今回の datetime 演習も、
単なる日付表示ではなく
「文字列として扱う」 という点が印象に残りました。
■ 今日のまとめ
- Udemy演習を通して datetime の基本を学習
datetime.now()で現在日時を取得できるstrftime()で任意の形式の文字列に変換できる
文字列操作(split / join)に続き、
「時間」をプログラムで扱えるようになった
大きな一歩でした。
次は、
- 昨日・明日の日付を取得する
- 日付の加算・減算
- 曜日を取得する
といった datetime の応用にも挑戦していきたいです。


コメント