1. ホーム
  2. c#

[解決済み] DateTime.ToString()で曜日サフィックスを取得する方法

2023-04-19 19:05:35

質問

DateTime.ToString()を使用して日付をフォーマットするとき、曜日のサフィックスを含めることは可能ですか?

例えば、私は次のフォーマットで日付を印刷したいです - Monday 27th July 2009。しかし、DateTime.ToString()を使用して最も近い例を見つけることができるのは、Monday 27 July 2009です。

DateTime.ToString()でこれを行うことができますか、それとも私自身のコードに戻らなければなりませんか?

どのように解決するのですか?

参考として、私はいつも[SteveX String Formatting]を使用しています/参照しています。 1 で、利用可能な変数に "th" はないようですが、次のような文字列を簡単に作成することができます。

string.Format("{0:dddd dd}{1} {0:MMMM yyyy}", DateTime.Now, (?));

そして、1には "st"、2には "nd"、3には "rd"、その他には "th"を供給しなければならず、 "? :" 文で並べることができるのです。

var now = DateTime.Now;
(now.Day % 10 == 1 && now.Day % 100 != 11) ? "st"
: (now.Day % 10 == 2 && now.Day % 100 != 12) ? "nd"
: (now.Day % 10 == 3 && now.Day % 100 != 13) ? "rd"
: "th"