このコードは私に返されます'M/d/yyyy'
が、これを行うには'mm/dd/yyyy'
どうすればよいですか?
((CultureInfo)Session["culture"]).DateTimeFormat.ShortDatePattern)
このコードは私に返されます'M/d/yyyy'
が、これを行うには'mm/dd/yyyy'
どうすればよいですか?
((CultureInfo)Session["culture"]).DateTimeFormat.ShortDatePattern)
それ以来、それはあまり意味がありません...あなたが望むパターンは特定の文化のためのものです..例えば:
DateTime.Now.ToString(CultureInfo.GetCultureInfo("en-US").DateTimeFormat.ShortDatePattern);
戻りmm/dd/yyyy
ますが
DateTime.Now.ToString(CultureInfo.GetCultureInfo("en-GB").DateTimeFormat.ShortDatePattern);
を返しdd/mm/yyyy
ます。
追加したコードから、それはあまり明確ではありません-あなたは特定の文化を得ているようですが、それからオーバーライドしたいですShortDatePattern
...
もしこれが本当なら、なぜそもそもセッションで受け取った文化を使うのでしょうか?文化に関係なく、好きなパターンを使用してください。例えばDateTime.Now.ToString("MM/dd/yyyy");
ShortDatePattern
(とにかく、 @ mipe34がコメントで示したように、設定できるようにオーバーライドすることは可能です)
ToString
メソッドで必要なテンプレートを指定することにより、日付の表示方法をオーバーライドできます。
DateTime.Now.ToString("MM/dd/yyyy")) //Will display "12/21/2012"
CultureInfo
デフォルトのフォーマット (および通貨などのその他の文化的情報) を含み、オペレーティング システムによって提供されるオブジェクトを使用しているようです。
単独で呼び出すと、現在のスレッドのカルチャでDateTime.Now.ToShortDateString()
指定された形式が使用されますShortDatePattern
。これは、次のように設定できます。
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");