カスタムDateTime
フォーマット文字列があります: "M/d/yyyy h:m:ss tt"
.
たとえば、日付が「2012 年 9 月 18 日 @ 正午」の場合、この出力は"9/18/2012 12:0:00 PM"
.
時間は適切にフォーマットされているようですが、日付部分がめちゃくちゃになっています。日付が次のようにフォーマットされていますが、その"MM-dd-yyyy"
理由がわかりません。
問題を再現するためのサンプル コードを次に示します。
var datetime = DateTime.Now;
Console.WriteLine("Date: " + datetime.ToString("MMMM d, yyyy")); // Date: October 11, 2012 --> correct
Console.WriteLine("Date: " + datetime.ToString("M/d/yyyy h:m:ss tt")); // Date: 10-11-2012 4:34:17 PM --> wrong
カスタムの DateTime 書式文字列に関する MSDN のドキュメントは次のとおりです。
私が間違っていることについてのアイデアはありますか?希望する結果を得るにはどうすればよいですか?
編集:
サンプル コードの最後の行で間違っているのは、スラッシュの代わりにハイフンがあり、その理由がわかりません。
また、コンピューターの言語は英語 (カナダ) に設定されています。しかし、私の「短い」日付形式も「長い」日付形式もないように見えるM-d-yyyy
ので、それがどこから来ているのかわかりません。