カテゴリ: Python 更新日: 2025/12/29

Pythonで日付をフォーマットする方法を完全ガイド!初心者でも理解できるstrftimeの使い方

Pythonで日付をフォーマットする方法(strftime() の使い方)
Pythonで日付をフォーマットする方法(strftime() の使い方)

先生と生徒の会話形式で理解しよう

生徒

「Pythonで日付や時刻を好きな形に表示したいんですが、どうやればいいんですか?」

先生

「Pythonでは、strftimeという仕組みを使うと、日付を自由な形に変えることができますよ。」

生徒

「数字を年や月として好きな形に並べ替えられるということですか?」

先生

「その通りです!まずは基本からゆっくり見ていきましょう。」

1. strftimeとは?初心者でも理解できる日付フォーマットの基本

1. strftimeとは?初心者でも理解できる日付フォーマットの基本
1. strftimeとは?初心者でも理解できる日付フォーマットの基本

Pythonで日付や時刻を扱う場合、標準で用意されているdatetimeモジュールを使います。このモジュールには、現在の日付を取得する機能や、記録用に日時を加工する機能などがそろっています。日付を加工して「YYYY-MM-DD」のような形に変えるにはstrftimeを使います。これは「日付情報を好きな形の文字列にするための専用の方法」で、初心者でも覚えやすく非常に便利です。例えば、年だけを取り出したり、月と日をスラッシュで区切って表示したり、文章の中に自然に溶け込む形で日付を入れたりすることができるため、ブログ作成、Webアプリ開発、ログ出力など幅広い用途で活用されます。

2. 現在の日付を取得して基本フォーマットを作る

2. 現在の日付を取得して基本フォーマットを作る
2. 現在の日付を取得して基本フォーマットを作る

まず現在の日付を取得し、その結果をフォーマットする方法から説明します。初心者が迷いやすいポイントとして「日付の取得」と「フォーマット処理」が別のステップになっている点があります。この仕組みは、時間の情報がひとまとまりのデータとして扱われ、そのデータを必要な形に変換するというしくみです。これを理解すると、時刻を組み合わせた複雑な処理も自然にできるようになります。以下はもっとも基本的な例で、現在の日時を年・月・日・時・分・秒に区切って表示します。


from datetime import datetime
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))

フォーマットで使う記号は決まっており、「%Y」が年、「%m」が月の数字、「%d」が日、「%H」が時の二十四時間表記などを意味します。これらは覚えると非常に便利で、どんな形の表示も自分の思い通りに整えることができます。

3. よく使うstrftimeのフォーマット一覧

3. よく使うstrftimeのフォーマット一覧
3. よく使うstrftimeのフォーマット一覧

実務ではさまざまな表示形式が求められます。たとえば「2025年02月15日」のように日本語を入れた形や、「02/15」のように短い形式、「2025-02-15T14:30:00」のように機械向けの形式などがあります。これらはすべてstrftimeで表現できます。初心者でも理解しやすいよう、代表的なフォーマット記号を簡単にまとめます。

・年を四桁で表示する → %Y
・月を数字で表示する → %m
・日を数字で表示する → %d
・時刻(24時間) → %H
・分 → %M
・秒 → %S

日付と時刻を組み合わせるだけで、実際には無限に近いバリエーションが作れます。プログラムの用途に合わせて柔軟に変更できる点がstrftimeの大きな魅力です。

4. 日本語を含めたフォーマットを作る(初心者でも超便利)

4. 日本語を含めたフォーマットを作る(初心者でも超便利)
4. 日本語を含めたフォーマットを作る(初心者でも超便利)

日本語を含めた表記は初心者にとても人気があります。「年月日」が目で見てすぐにわかり、読みやすいからです。たとえば、今日が何月何日かを表示する簡単なコードは次のようになります。


from datetime import datetime
now = datetime.now()
print(now.strftime("%Y年%m月%d日"))

これで「2025年02月15日」のような形式になります。この仕組みを応用すれば、「本日の更新日時:2025年02月15日 14時30分」のような文章も簡単に作れるため、ブログやWebサービスでも広く使われています。

5. 曜日を入れたフォーマットを作る

5. 曜日を入れたフォーマットを作る
5. 曜日を入れたフォーマットを作る

曜日を表示したいときは、%a%Aを使います。短い英語表記や長い英語表記の表示ができるため、カレンダーアプリやスケジュール表示に役立ちます。英語表記に抵抗がある場合は自分で日本語の曜日リストを作って置き換える方法もあります。


from datetime import datetime
now = datetime.now()
print(now.strftime("%Y-%m-%d (%a)"))

英語をそのまま使う場合でも曜日は視認性が高く、ログファイルやメンテナンス記録などで役立ちます。

6. 時刻だけをきれいにフォーマットする

6. 時刻だけをきれいにフォーマットする
6. 時刻だけをきれいにフォーマットする

時刻だけほしいときもstrftimeが便利です。「分と秒だけほしい」「時刻を見やすいようにコロンで区切りたい」など細かな調整ができます。次の例では、時刻だけを取り出し「HH:MM:SS」の形式で表示しています。


from datetime import datetime
now = datetime.now()
print(now.strftime("%H:%M:%S"))

時間の情報はプログラムの動作確認にも使われるため、習得しておくとさまざまな場面で役に立ちます。

7. 初心者がつまずきやすいポイントと理解のコツ

7. 初心者がつまずきやすいポイントと理解のコツ
7. 初心者がつまずきやすいポイントと理解のコツ

Python の日時フォーマットには柔軟さがある反面、初心者が迷いやすい部分があります。例えば「%m と %M の違いが覚えにくい」「年の表記が四桁と二桁で違う」「時刻の24時間表記と12時間表記の記号がまぎらわしい」といった点です。これらは実際にコードを書きながら確認すると自然と覚えていくため、練習を繰り返すことで必ず理解が深まります。また、日付のフォーマットは最初に習得しておくとその後の学習が楽になる基礎分野であり、Pythonの様々な場面で利用されるため、ゆっくり確実に身につけることが重要です。

カテゴリの一覧へ
新着記事
New1
Flask
Flask×Flask-SocketIOでチャットアプリを作る流れを初心者向けにやさしく解説
New2
Flask
Flaskアプリの作り方を基礎から学ぼう!初心者が覚えるべき開発の流れとは?
New3
Flask
Flask-WTFでファイルアップロードフォームを完全ガイド!初心者でもわかる画像やPDFのアップロード方法
New4
Flask
FlaskでCSRF対策を実装する方法!安全なフォーム送信を学ぼう
人気記事
No.1
Java&Spring記事人気No1
Django
Django環境構築の全手順を完全解説!初心者でも迷わないPython・Djangoセットアップガイド
No.2
Java&Spring記事人気No2
Flask
Flask-Loginでユーザー認証を完全ガイド!初心者でもわかるログイン処理の作り方
No.3
Java&Spring記事人気No3
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.4
Java&Spring記事人気No4
Python
PythonでHello Worldを表示するには?初心者向けに最初の1行を実行してみよう
No.5
Java&Spring記事人気No5
Python
Pythonでリストを文字列に変換する方法を完全ガイド!初心者でもわかるjoinの使い方
No.6
Java&Spring記事人気No6
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
No.7
Java&Spring記事人気No7
Flask
FlaskアプリをNginx + Gunicornで本番運用する方法!初心者でもわかるデプロイ構成の基本
No.8
Java&Spring記事人気No8
Flask
FlaskアプリのSECRET_KEYの設定方法を完全ガイド!初心者でもわかるセキュリティ対策