この形式で日付を表示したい: Saturday, March 9, 2013 at 10:00pm
in c#. それを達成するのを手伝ってもらえますか?
DateTime dateTime = new DateTime();
dateTime.ToString(??)
必要な形式は、次の形式文字列のようなものです
dddd, MMMM d, yyyy 'at' hh:mmtt
実際の例: http://rextester.com/WUYT65966
コード例:
var dt = DateTime.Now;
Console.WriteLine(dt.ToString("dddd, MMMM d, yyyy 'at' hh:mmtt"));
出力:
Monday, March 11, 2013 at 08:51AM
これはどの文化でも機能するはずです:
DateTime dt = new DateTime(2013, 03, 09, 22, 00, 00);
var toString = string.Format("{0} at {1}{2}",
dt.ToString("dddd, MMMM d, yyyy", CultureInfo.InvariantCulture),
dt.ToString("hh:mm", CultureInfo.InvariantCulture),
dt.ToString("tt", CultureInfo.InvariantCulture).ToLower());
出力 (AM/PM 指定子のない文化でも):Saturday, March 9, 2013 at 10:00pm
このフォーマット文字列を使用します。詳細については、 MSDNを参照してください。
string.format("{0:dddd, MMMM d, yyyy} at {0:hh:mmtt}", dateTime);
または同じですが、DateTime.ToString() メソッドの書式文字列として使用されます。
dateTime.ToString("dddd, MMMM d, yyyy 'at' 0:hh:mmtt");
特定のカルチャに従って結果をフォーマットする場合は、CultureInformation を指定することもできます (@TimSchmelter がコメント/彼の回答で指摘したように)。
CultureInfo desiredCultur = CultureInfo.InvariantCulture;
dateTime.ToString("dddd, MMMM d, yyyy 'at' 0:hh:mmtt", desiredCulture);