カテゴリ: Python 更新日: 2026/02/19

Pythonで時間のフォーマットをISO 8601に変換する方法をやさしく解説|初心者向け日時操作入門

Pythonで時間のフォーマットをISO 8601に変換する方法
Pythonで時間のフォーマットをISO 8601に変換する方法

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

生徒

「Pythonで今の時間を扱いたいんですが、表示の仕方がよくわかりません…」

先生

「Pythonでは日時を扱う仕組みが用意されていて、世界共通の形に変換することもできますよ。」

生徒

「世界共通の形って、どういう意味ですか?」

先生

「それがISO 8601という時間のフォーマットです。順番に見ていきましょう。」

-

1. Pythonで日時を扱うとはどういうこと?

1. Pythonで日時を扱うとはどういうこと?
1. Pythonで日時を扱うとはどういうこと?

Pythonでは、日付や時間を数字の集まりとしてではなく、特別なデータとして扱います。たとえば「2026年1月23日10時30分」という情報を、一つのまとまりとして管理できます。これにより、時間の計算や表示の変更が簡単になります。

パソコンを時計だと考えてください。時計は「今が何時何分か」を正確に知っています。Pythonも同じように、今の日時を知ったり、表示の形を変えたりできるのです。

2. ISO 8601とは何かを超かんたんに説明

2. ISO 8601とは何かを超かんたんに説明
2. ISO 8601とは何かを超かんたんに説明

ISO 8601とは、日付と時間の書き方を世界で統一したルールです。国によって「年/月/日」や「日-月-年」など書き方が違うと混乱します。そのため「年-月-日 時:分:秒」という決まった形を使います。

例として、2026年1月23日の午前9時は「2026-01-23T09:00:00」と書きます。この「T」は日付と時間の区切りを表す記号です。

3. Pythonで現在の日時を取得する基本

3. Pythonで現在の日時を取得する基本
3. Pythonで現在の日時を取得する基本

まずは、Pythonで今の日時を取得します。ここではdatetimeという仕組みを使います。これは「日付と時間を扱うための道具箱」のようなものです。


from datetime import datetime

now = datetime.now()
print(now)

2026-01-23 10:30:15.123456

この表示はPython独自の形式で、人には少し見づらいことがあります。そこでISO 8601形式に変換します。

4. ISO 8601形式に変換する一番かんたんな方法

4. ISO 8601形式に変換する一番かんたんな方法
4. ISO 8601形式に変換する一番かんたんな方法

Pythonには、ISO 8601に変換するための便利な機能があります。それがisoformat()です。これは「ISO形式で表示する」という意味を持ちます。


from datetime import datetime

now = datetime.now()
iso_time = now.isoformat()
print(iso_time)

2026-01-23T10:30:15.123456

これで、Pythonの日時をISO 8601フォーマットに変換できました。難しい設定は一切不要です。

-

5. 秒や小数を省いたISO 8601表示

5. 秒や小数を省いたISO 8601表示
5. 秒や小数を省いたISO 8601表示

場合によっては、秒や細かい数字が不要なこともあります。そのときは、表示の形を指定できます。ここで使うstrftimeは「時間の並びを自由に決める方法」です。


from datetime import datetime

now = datetime.now()
formatted = now.strftime("%Y-%m-%dT%H:%M")
print(formatted)

2026-01-23T10:30

%Yは年、%mは月、%dは日を意味します。暗号のように見えますが、慣れると地図記号のように読めるようになります。

6. 文字列の日付をISO 8601に直す方法

6. 文字列の日付をISO 8601に直す方法
6. 文字列の日付をISO 8601に直す方法

すでに文字として保存されている日付を、ISO 8601形式に変換したいこともあります。たとえば「2026/01/23 10:30」という文字です。


from datetime import datetime

text = "2026/01/23 10:30"
dt = datetime.strptime(text, "%Y/%m/%d %H:%M")
print(dt.isoformat())

2026-01-23T10:30:00

strptimeは「文字を時間に変換する」という意味です。紙に書いた予定表を、時計にセットするイメージです。

7. ISO 8601がよく使われる理由

7. ISO 8601がよく使われる理由
7. ISO 8601がよく使われる理由

ISO 8601形式は、Webサービス、API、データベースなどで広く使われています。理由は、並び替えがしやすく、国や言語が違っても誤解が起きにくいからです。

PythonでISO 8601に変換できるようになると、ログ管理やデータ保存がとても楽になります。初心者のうちから覚えておくと安心です。

8. 初心者がつまずきやすいポイント

8. 初心者がつまずきやすいポイント
8. 初心者がつまずきやすいポイント

よくある間違いは、文字列と日時データを混同してしまうことです。見た目が同じでも、中身が違うと操作できません。

「これは文字なのか」「これは日時なのか」を意識するだけで、Pythonの日時操作はぐっと理解しやすくなります。

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

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

関連記事:
カテゴリの一覧へ
新着記事
New1
Python
Pythonで時間のフォーマットをISO 8601に変換する方法をやさしく解説|初心者向け日時操作入門
New2
PHP
PHPのexplodeとimplodeの使い方を完全解説!初心者でもわかる文字列と配列の変換方法
New3
PHP
PHPの数値計算を完全解説!初心者でもわかる四則演算とMath関数の使い方
New4
Python
Pythonのカスタム例外を完全ガイド!初心者でもわかる独自Exceptionクラスの作り方
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでリストを分割する方法(スライス / split() / itertools)
No.2
Java&Spring記事人気No2
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.3
Java&Spring記事人気No3
PHP
PHPのCookieの管理方法とクライアントサイドのデータ保持の基本とベストプラクティス
No.4
Java&Spring記事人気No4
PHP
PHPのプリペアドステートメントを完全ガイド!初心者でも分かるSQLインジェクション対策
No.5
Java&Spring記事人気No5
Python
Pythonの書き方を基本から解説!はじめてのPythonプログラム
No.6
Java&Spring記事人気No6
PHP
PHP のコンストラクタ(__construct)とは?使い方を解説
No.7
Java&Spring記事人気No7
PHP
初心者向けにPHP でファイルを開く・読み込む・書き込む方法(fopen, fwrite, fread)を解説する記事
No.8
Java&Spring記事人気No8
PHP
PHP の型宣言(strict_types の使い方)を徹底解説!初心者でもわかる型の指定方法
-
-