C#の長い日付(D)形式指定子の使い方を解説
C#における「D」形式指定子は、日付と時刻を長い形式の文字列として表示するための標準書式指定子です。この指定子を使用すると、曜日や月名まで含んだ、読みやすい詳細な日付表現を簡単に取得できます。
D形式指定子の仕組み
「D」形式指定子は、カルチャ(culture)ごとに定義された DateTimeFormatInfo.LongDatePattern プロパティに基づいてカスタム日時書式文字列を生成します。つまり、実行環境のカルチャ設定によって出力される日付の形式が自動的に変わる仕組みです。
たとえば、英語(米国)カルチャの場合、対応するカスタム書式文字列は以下のようになります。
dddd, dd MMMM yyyy
各要素の意味は次のとおりです。
- dddd:曜日の完全な名前(例:Thursday)
- dd:2桁の日(例:20)
- MMMM:月の完全な名前(例:September)
- yyyy:4桁の年(例:2018)
コード例
以下は、「D」形式指定子を CultureInfo.CreateSpecificCulture("en-US") と組み合わせて使用するサンプルコードです。
using System;
using System.Globalization;
class Demo {
static void Main() {
DateTime myDate = new DateTime(2018, 9, 20);
Console.WriteLine(myDate.ToString("D", CultureInfo.CreateSpecificCulture("en-US")));
}
}実行結果
上記のコードを実行すると、次のような出力が得られます。
Thursday, September 20, 2018
このように、カルチャを明示的に指定することで、言語や地域に応じた一貫した日付表示を実現できます。日本語カルチャ(ja-JP)を指定すれば「2018年9月20日」のような形式で出力されるため、多言語対応アプリケーション開発において非常に便利です。
-
C#で%(パーセント)を使った文字列フォーマットの方法
C#では、String.Formatメソッドを使うことで、数値を簡単にパーセント(%)形式の文字列に変換できます。標準の数値書式指定子の中には「パーセント書式指定子(%)」が含まれており、これを指定すると、元の値に100を掛けた上で、末尾に「%」記号を自動的に付加します。割合を表す値を見やすい形式で表示したい場合に非常に便利です。基本的な使い方例として、次のようなdouble型の値があるとします。double val = .322;この値に対してString.Formatを使い、小数点以下1桁のパーセント形式でフォーマットします。string.Format(string = {0:0.0%},
-
C#の文字列テンプレートクラス(StringTemplate)とは?名前付きプレースホルダーで可読性の高い文字列整形を実現
C#のStringTemplateクラスとはStringTemplateクラスは、書式指定文字列を解析するためのクラスで、標準のString.Formatと互換性を持つように設計されています。このクラスは、拡張メソッドを多数提供するNStringライブラリに含まれており、文字列操作をより直感的かつ簡単に行えるようになります。NStringライブラリが提供する主な拡張メソッドNStringライブラリには、日常的な文字列処理を簡潔に記述できる便利な拡張メソッドが用意されています。代表的なものは以下の通りです。IsNullOrEmpty()IsNullOrWhiteSpace()Join()Trun