C#の短い日付形式「d」フォーマット指定子の使い方
C#における「d」フォーマット指定子は、日付を短い形式で表示するためのカスタム日時書式指定文字列を表します。
このフォーマットで使用される実際の書式は、カルチャ(culture)ごとの DateTimeFormatInfo.ShortDatePattern プロパティによって定義されます。
インバリアントカルチャの場合、カスタム書式指定文字列は以下のようになります。
MM/dd/yyyy
サンプルコード
次の例では、「d」フォーマット指定子を使って、インバリアントカルチャと en-US(英語・アメリカ)カルチャそれぞれで日付を出力しています。
using System;
using System.Globalization;
class Demo {
static void Main() {
DateTime myDate = new DateTime(2018,9, 09);
Console.WriteLine(myDate.ToString("d", DateTimeFormatInfo.InvariantInfo));
Console.WriteLine(myDate.ToString("d", CultureInfo.CreateSpecificCulture("en-US")));
}
}出力結果
09/09/2018 9/9/2018
解説
実行結果から分かるように、インバリアントカルチャでは月と日が常に2桁でゼロ埋めされて表示される一方、en-USカルチャでは先頭のゼロが省略された形式で表示されます。これは、各カルチャの ShortDatePattern の定義が異なるためです。
なお、日本語(ja-JP)カルチャでは一般的に「yyyy/MM/dd」形式が採用されているため、同じコードでもカルチャ設定によって出力結果が変化することに注意してください。
-
C#のラウンドトリップ(R)書式指定子とは?使い方を解説
ラウンドトリップ(R)書式指定子とはC#のラウンドトリップ(R)書式指定子は、Single、Double、BigInteger の各型でサポートされている標準の数値書式です。この書式指定子を使用すると、数値を文字列に変換した後、その文字列を再度解析(パース)した際に、必ず元と同じ数値に復元されることが保証されます。つまり、変換による精度の損失がないことが保証されるため、シリアライズやログ出力など、値を厳密に保持したい場面で役立ちます。基本的な使い方まず、double型の変数を用意します。double doubleVal = 0.91234582637;次に、ToString()メソッドを呼び出
-
【C#】日付形式の妥当性を検証する方法|DateTime.TryParseExactの使い方
C#で日付文字列が正しい書式になっているかどうかを確認したい場合、DateTime.TryParseExactメソッドを使用するのが最も簡単で確実な方法です。 このメソッドは、指定された文字列形式の日付・時刻を、それと等価なDateTime型の値に変換します。変換に成功すればtrue、指定した書式と一致しなければfalseを返すため、入力された日付の形式が正しいかどうかの検証にそのまま利用できます。 基本的な使い方 TryParseExactメソッドの主な引数は以下の通りです。 第1引数: 検証対象となる日付の文字列 第2引数: 期待する書式(例: MM/dd/yyyy) 第3引数: カル