0

この形式で日付を表示したい: Saturday, March 9, 2013 at 10:00pmin c#. それを達成するのを手伝ってもらえますか?

DateTime dateTime = new DateTime();
dateTime.ToString(??) 
4

3 に答える 3

2

必要な形式は、次の形式文字列のようなものです

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
于 2013-03-11T15:48:58.320 に答える
1

これはどの文化でも機能するはずです:

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

于 2013-03-11T15:53:12.857 に答える
1

このフォーマット文字列を使用します。詳細については、 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);
于 2013-03-11T15:48:13.547 に答える