私はWindows8を使用しています。私の文化は「en-IN」です。ただし、日時の形式はMM / dd/yyyyです
。
String.Format("{0:MM/dd/yyyy}", DateTime.Today);
2012年12月29日のような形式を提供します。
どうすればよいか提案してください。
問題が何であるかは明らかではありません。スラッシュの代わりにハイフンを使用しているだけの場合は、おそらく、カルチャのデフォルトの日付区切り文字がハイフンであるためです。オプションは次のとおりです。
別のカルチャを明示的に指定します(例:不変カルチャ)
String.Format(CultureInfo.InvariantCulture, "{0:MM/dd/yyyy}", DateTime.Today);
スラッシュをエスケープします。
String.Format("{0:MM'/'dd'/'yyyy}", DateTime.Today);
IMOを使用DateTime.Today.ToString(...)
するよりも使用する方が簡単であることに注意してください。string.Format
そうですね、現在のカルチャは多くのフォーマット関連の設定に使用されています。
ここで、これを試してください:
// Change culture
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-IN");
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-IN");
// prints 12-29-2012
Console.WriteLine(string.Format("{0:MM/dd/yyyy}", DateTime.Today));
// Invariant culture, so ignore any culture-based settings
// prints 12/29/2012
Console.WriteLine(string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0:MM/dd/yyyy}", DateTime.Today));
これをtrt
DateTime.Today.ToString("MM/dd/yyyy")
'/'は、(または指定された)カルチャに応じて変換されるカスタムの日付区切り文字です。本当にスラッシュが必要な場合は、それらを引用する必要があります。
String.Format("{0:MM'/'dd'/'yyyy}", DateTime.Today);
またはそれらを脱出します:
String.Format(@"{0:MM\/dd\/yyyy}", DateTime.Today);
私はあなたがこれを試してみるべきだと思います
DateTime.Today.ToString("MM/dd/yyyy")