カテゴリ: Python 更新日: 2025/10/28

Pythonのstrptimeで日付を解析しよう!初心者向けのやさしい解説

Pythonで日付を解析(パース)する方法(strptime() の活用)
Pythonで日付を解析(パース)する方法(strptime() の活用)

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

生徒

「Pythonで“2025年9月3日”みたいな文字を、ちゃんと日付として使いたいんですけど、どうすればいいですか?」

先生

「それは良いところに気がつきましたね。Pythonにはstrptimeという便利な関数があって、文字列を日付として扱えるようにできますよ。」

生徒

「それって、例えば“2025/09/03”みたいな書き方でも大丈夫なんですか?」

先生

「はい!書き方に合わせてフォーマットを指定すれば、どんな形式でも柔軟に変換できます。詳しく見ていきましょう。」

-

1. Pythonで日付を扱うには?

1. Pythonで日付を扱うには?
1. Pythonで日付を扱うには?

プログラミングで「日付(年月日)」や「時間(時分秒)」を正しく扱うためには、特別な方法が必要です。Python(パイソン)では、datetime(デイトタイム)というモジュールを使って、日付や時間を簡単に操作できます。

たとえば、入力フォームで「2025-09-03」と書かれた文字を、本物の「日付データ」として使いたいときは、strptime(ストリピーエム)という関数を使います。

2. strptimeって何?どう使うの?

2. strptimeって何?どう使うの?
2. strptimeって何?どう使うの?

strptimeは、「string parse time(文字列を時間に変換する)」の略で、文字で書かれた日付をPythonのdatetime型に変換してくれる関数です。

たとえば「2025-09-03 14:30」という文字列を、本当に日付として使いたいとき、次のように書きます。


from datetime import datetime

date_str = "2025-09-03 14:30"
parsed_date = datetime.strptime(date_str, "%Y-%m-%d %H:%M")
print(parsed_date)

2025-09-03 14:30:00

このように、文字列がdatetimeオブジェクトに変換されると、曜日の取得や加算・減算など、いろんな操作ができるようになります。

3. フォーマット文字の意味を覚えよう

3. フォーマット文字の意味を覚えよう
3. フォーマット文字の意味を覚えよう

strptimeを使うときには、「文字列のどの部分が何を表しているか」を伝える必要があります。それを「フォーマット文字」といいます。以下はよく使う代表的なフォーマット文字です:

  • %Y:西暦(4桁)例:2025
  • %y:西暦(2桁)例:25
  • %m:月(01〜12)
  • %d:日(01〜31)
  • %H:時(00〜23)
  • %M:分(00〜59)
  • %S:秒(00〜59)

これらを組み合わせることで、どんな日付形式でも自由に変換できます。

4. よくある日付形式の例とコード

4. よくある日付形式の例とコード
4. よくある日付形式の例とコード

ここでは、よくある日付の書き方と、それに対応するstrptimeの書き方を紹介します。

例1:2025年9月3日


from datetime import datetime

date_str = "2025年9月3日"
parsed = datetime.strptime(date_str, "%Y年%m月%d日")
print(parsed)

2025-09-03 00:00:00

例2:03/09/2025(海外式:日/月/年)


date_str = "03/09/2025"
parsed = datetime.strptime(date_str, "%d/%m/%Y")
print(parsed)

2025-09-03 00:00:00

例3:2025/09/03 18:45:10


date_str = "2025/09/03 18:45:10"
parsed = datetime.strptime(date_str, "%Y/%m/%d %H:%M:%S")
print(parsed)

2025-09-03 18:45:10
-

5. strptimeを使った活用例

5. strptimeを使った活用例
5. strptimeを使った活用例

この関数を使うと、こんなことが簡単にできます。

  • 日付を元に、曜日を表示する
  • 現在の日付との差を計算する
  • 入力された日付が未来か過去かを判断する

例:日付の差を出す


from datetime import datetime

input_date = "2025-09-03"
d = datetime.strptime(input_date, "%Y-%m-%d")
now = datetime.now()
diff = now - d
print(f"今日との差は {diff.days} 日です")

今日との差は -1 日です

6. 文字列から日付に変換できなかったときのエラー対策

6. 文字列から日付に変換できなかったときのエラー対策
6. 文字列から日付に変換できなかったときのエラー対策

間違った形式の文字列を変換しようとすると、「ValueError」というエラーが出ます。そんなときは、try-except構文でエラー処理をしておくと安心です。


try:
    date_str = "2025-09-03"
    parsed = datetime.strptime(date_str, "%Y/%m/%d")
except ValueError:
    print("日付の形式が正しくありません!")

日付の形式が正しくありません!

このように書くと、エラーが出てもプログラムが止まらずに動き続けます。

7. datetimeとの違いがわからない人へ

7. datetimeとの違いがわからない人へ
7. datetimeとの違いがわからない人へ

strptimeは「文字列 → 日付」に変換する関数で、逆に「日付 → 文字列」にしたいときは、strftimeという関数を使います。覚え方は、「strp」はparse(読み取る)、「strf」はformat(書き出す)です。

8. パソコン初心者の方向け補足

8. パソコン初心者の方向け補足
8. パソコン初心者の方向け補足

文字列(もじれつ)とは、コンピューターの中で「文章」や「記号」のかたまりを意味します。「2025年9月3日」や「こんにちは」などがそれに当たります。

そして日付というのは、コンピューターが「計算」や「順番」で使えるように変換した「特別な情報」です。

strptimeは、文字のままでは使えない「日付のような文字」を、パソコンが計算できる「本物の日付データ」にしてくれる道具なのです。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
PHPでセッションを使ってフォーム入力を保持する方法を解説!初心者向けステップバイステップ
Pythonで文字列をリストに変換する方法!split()とjoin()の使い方
Pythonの変数とは?定義方法とデータ型を初心者向けに解説
PHPでメールフォームを作る方法を徹底解説!初心者向けにmail関数とPHPMailerの使い方も紹介
人気記事
No.1
PHP&Python記事人気No1
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
PHP&Python記事人気No2
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.3
PHP&Python記事人気No3
Pythonのリストを辞書に変換する方法(dict() / zip())
No.4
PHP&Python記事人気No4
初心者向けにPHP でファイルを開く・読み込む・書き込む方法(fopen, fwrite, fread)を解説する記事
-