カテゴリ: C# 更新日: 2025/12/03

C#で日時をISO 8601形式に変換する方法を完全解説!初心者向けガイド

C#で日時をISO 8601形式に変換する方法
C#で日時をISO 8601形式に変換する方法

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

生徒

「C#で日時を国際的な形式で表示したいのですが、どんな方法がありますか?」

先生

「世界中で共通して使われる形式として、ISO 8601形式があります。」

生徒

「ISO 8601って何ですか?難しそうな名前ですね。」

先生

「大丈夫です。ISO 8601は、年・月・日・時刻を統一した書き方で表す方法です。C#なら簡単に変換できますよ!」

1. ISO 8601形式とは?初心者にわかりやすく説明

1. ISO 8601形式とは?初心者にわかりやすく説明
1. ISO 8601形式とは?初心者にわかりやすく説明

ISO 8601形式とは、世界中のシステムで同じ形式で日時を扱うための国際標準の書き方です。例えば、2025年11月27日 午後3時15分を表すときに、国によって書き方が違うと混乱が生まれます。

日本では「2025/11/27 15:15」ですが、アメリカでは「11/27/2025 3:15PM」と書きます。この違いが原因で、データ交換やシステム連携で誤動作が起きることがあります。

そこで便利なのが、世界共通の書き方であるISO 8601形式です。次のように表記します。

2025-11-27T15:15:00

「T」は日時を区切る合図で、「Z」はUTC(協定世界時)を意味します。この表記方法を理解しておくと、クラウドサービスやデータベースとのやり取りでもよく使われるので、非常に便利です。

2. C#で現在日時をISO 8601形式に変換する基本方法

2. C#で現在日時をISO 8601形式に変換する基本方法
2. C#で現在日時をISO 8601形式に変換する基本方法

C#では、DateTime型の変数に対して、ToStringメソッドを使うことで簡単にISO 8601形式へ変換できます。プログラミング初心者でもすぐに利用できます。


using System;

class Program
{
    static void Main()
    {
        DateTime now = DateTime.Now;
        string iso8601 = now.ToString("yyyy-MM-ddTHH:mm:ss");
        Console.WriteLine(iso8601);
    }
}

実行結果の例:


2025-11-27T15:30:00

3. 世界時刻(UTC)でISO 8601形式に変換する方法

3. 世界時刻(UTC)でISO 8601形式に変換する方法
3. 世界時刻(UTC)でISO 8601形式に変換する方法

サーバー同士の通信やAPI開発では、UTC(協定世界時)を使うことが一般的です。これは国や地域の時間差の影響を受けないためです。


DateTime utcNow = DateTime.UtcNow;
string iso8601Utc = utcNow.ToString("yyyy-MM-ddTHH:mm:ssZ");
Console.WriteLine(iso8601Utc);

実行結果の例:


2025-11-27T06:30:00Z

4. DateTimeOffsetを使ったISO 8601形式の出力方法

4. DateTimeOffsetを使ったISO 8601形式の出力方法
4. DateTimeOffsetを使ったISO 8601形式の出力方法

C#にはDateTimeOffsetという、タイムゾーン情報(時差)を含めた日時型があります。クラウドやデータベースではこれがよく使われます。

例えば、日本の時刻を含めてISO 8601形式で出力したい場合は次のように書きます。


DateTimeOffset nowOffset = DateTimeOffset.Now;
string iso8601Offset = nowOffset.ToString("o"); // "o" はISO8601形式の書式指定子
Console.WriteLine(iso8601Offset);

実行例:


2025-11-27T15:30:00.0000000+09:00

末尾の+09:00は、日本標準時(JST)の時差を示します。世界中どこでも正確な時刻差を伝えられるため、非常に便利です。

5. ToString("o") を覚えておくと便利!即戦力の使い方

5. ToString(
5. ToString("o") を覚えておくと便利!即戦力の使い方

ISO 8601形式は書式を自分で組み合わせても作れますが、実はC#には簡単にこの形式を出力するための特別な書式指定子が用意されています。

ToString("o")は、ISO 8601に完全準拠した日時を出力するための特別な書き方です。これだけで、時差情報も含めた標準形式が得られます。


Console.WriteLine(DateTimeOffset.Now.ToString("o"));

6. ISO 8601形式が使われる代表的な場面

6. ISO 8601形式が使われる代表的な場面
6. ISO 8601形式が使われる代表的な場面

ISO 8601形式は多くのシステムで採用されています。例えば:

  • REST APIでデータ通信を行うとき
  • データベースに日時を保存するとき
  • ログファイルに正確な時刻を記録するとき
  • ExcelやCSVファイルとデータ交換するとき
  • クラウドシステムと連携するとき

プログラミングを学ぶ上で、ISO 8601を扱えることは非常に重要です。初心者でも必ず理解しておくべき技術と言えます。

カテゴリの一覧へ
新着記事
C#でタイムスタンプの精度を上げるためのテクニックを徹底解説!(初心者向け)
C#のコーディング規約(C# Coding Conventions)とは?読みやすいコードを書くための基本ルール
C#のデストラクタ(ファイナライザ)の使い方と注意点をやさしく解説!
COBOL資産のバージョン管理とは?初心者でもわかる保守と管理の基本
人気記事
No.1
Java&Spring記事人気No1
COBOLで学ぶSELECT文のORDER BY・GROUP BY活用法!初心者でもわかるデータ集計
No.2
Java&Spring記事人気No2
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.3
Java&Spring記事人気No3
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法
No.4
Java&Spring記事人気No4
COBOLで学ぶカーソル操作と複数行データ取得の基本
No.5
Java&Spring記事人気No5
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#の数値型をマスターしよう!int・double・decimalの違いと使い方
No.7
Java&Spring記事人気No7
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.8
Java&Spring記事人気No8
C#の日付型(DateTime)と基本的な使い方を解説|初心者向け入門ガイド