日付を文字列に変換する

C#:
日付を文字列に変換する

How to: (やり方)

using System;
using System.Globalization;

class Program
{
    static void Main()
    {
        DateTime now = DateTime.Now;
        
        // 標準の日付フォーマット
        string simpleDate = now.ToString("dd/MM/yyyy");
        Console.WriteLine(simpleDate); // 出力: 24/03/2023
        
        // 独自のフォーマット
        string customFormat = now.ToString("yyyy年MM月dd日 HH時mm分ss秒");
        Console.WriteLine(customFormat); // 出力: 2023年03月24日 13時45分18秒
        
        // カルチャを意識した日付フォーマット
        CultureInfo japaneseCulture = new CultureInfo("ja-JP");
        string japaneseDate = now.ToString("f", japaneseCulture);
        Console.WriteLine(japaneseDate); // 出力: 2023年3月24日 13:45
    }
}

Deep Dive (深掘り)

日付を文字列に変換する処理は.ToString()メソッドで行われます。.NETの初期バージョンから利用できる機能です。このメソッドは多様なフォーマットパターンをサポートし、"G""D"などの標準フォーマットと、カスタムフォーマット文字列を使用できます。また、CultureInfoクラスを使うと地域に合わせた日付表記を生成できるため、国際化対応のアプリケーション開発に便利です。他に同じ目的で使える方法にはString.Format()StringBuilderクラスがあり、より複雑な文字列操作が求められる場合に活用できます。.NET 6以降では日付と時間の新たなパターンとしてDateOnlyと TimeOnly型が導入されており、それぞれの情報のみを扱えるようになっています。

See Also (関連情報)