web-dev-qa-db-ja.com

C#の日付書式でスラッシュセパレータが失われる

これをC#で行う場合:

Console.WriteLine(DateTime.Now.ToString("ddd M/dd/yy"));

私はこのような出力を期待します:

Wed 6/15/11

しかし、実際にはこれを出力します:

Wed 6 15 11

スラッシュが消えるのはなぜですか?これを防ぎ、期待される形式で日付を出力させる方法はありますか?

37
Jon Tackabury
Console.WriteLine(DateTime.Now.ToString("ddd M/dd/yy", CultureInfo.InvariantCulture));
            Console.ReadLine();

上記を試してください

69
David

あなたも使うことができます

Console.WriteLine(dateTime.ToString("ddd M'/'dd'/'yy"));

ここで他の回答で述べられているように、インバリアントカルチャを使用していない場合、これは可能な解決策です。

24
Norbert

フォーマット引数内の「/」(スラッシュ)のデフォルトの動作は、現在のカルチャ日付セパレータを使用することです。

「/」(スラッシュ)を強制するには、その前に「\」(バックスラッシュ)を付ける必要があります。

例:「yyyy \\/MM \\/dd」は、現在使用されているカルチャに関係なく、常に「2015/07/02」のような日付を表示します。

12
BaRtEr