2010-11-29 15 views
1

組み込みの.net日付書式に問題があります。それはローマ数字(EN-GBで、それは「4月」になります例えば、「IV」)を出力し、私たちのチェコサイトについて.netのカルチャの日付書式のオーバーライド

string.Format("{0:MMM}", date); 

:私たちは、月の省略形式を使用しています。これをいくつかのカスタム略語に変更したいと考えています。

これを行うにはどのような方法が最適ですか?私は実際にビューにifステートメントを置いてはいけません。私はDateTimeFormatInfoを使うべきですか?

また、Microsoftはフォーマットに基づいてどのように決めるのですか。標準に基づいていますか?

答えて

0

どの文化を使いたいですか? string.Formatへの呼び出しで指定することができます。たとえば、次のようにそれはあなたがフォーマットしているすべての本当にだ場合、ToStringを呼び出すために単純であろうと

string text = string.Format(CultureInfo.InvariantCulture, "{0:MMM}", date); 

注:

string text = date.ToString("MMM", CultureInfo.InvariantCulture); 

(あなたはすべての複合書式設定を必要としないその方法)

+1

これは多言語サイトで、ブラウザ設定(またはCookie)に基づいてスレッドカルチャを設定します。他のすべての言語は、希望の形式を出力します。私たちが変える必要があるのは単にcs-CZの文化だけです。 – JontyMC

+0

@JontyMC:その場合、スレッドカルチャーを設定すると、別のカルチャを完全に使用するか、別の 'DateTimeFormatInfo'を使用する特別なケースのcs-CZのみにする必要があります。 –

+0

デフォルトを変更する方法はありません。私も多言語サイトを持っていますが、クライアントはいくつかの言語のデフォルトを気に入らないのです。 –