1

日時の書式設定にカスタム パターンが使用されるアプリのローカライズに取り組んでいます。

例: dd-MM HH:mm

この日付のカスタム形式のローカライズ バージョンを取得する必要があります。これにより、基本的にローカル オーダー (dd MM または MM dd) と日付と時刻のローカル セパレーターを使用して、数字と時刻を使用して日付を取得できます。

デフォルトの書式設定を使用している限り、これはかなり些細なことですが、これらから逸脱するとすぐに、書式設定がハードコーディングされます。

何か案は?

ありがとう、ジョナス

編集: cultureInfo オブジェクトがあります。問題は、DateTime.ToString("ES-es") を実行すると、情報が多すぎることです。必要なのは月 + 日だけですが、デフォルトの ToString では年 + を取得します月+日

もう一度編集します。使用する CultureInfo オブジェクトごとに ShortDate パターンを変更する方法がわかります。ただし、状況によってはデフォルトの ShortDate パターンも必要になるため、残念ながらそれを変更すると、別の同等の問題が発生します。

最終編集: 誰かが気になる場合に備えて。解決策が見つからなかったので、現在の CultureInfo をチェックし、正しくフォーマットされた日付 (sans year) を返す静的関数をコーディングすることになりました。

4

3 に答える 3

4

DateTimeFormatInfo クラス (CultureInfo.DateTimeFormat プロパティ)、特にプロパティ DateSeparator、TimeSeparator、ShortDatePattern を見てください。

于 2008-11-24T10:28:15.403 に答える
2

おそらくあなたはこれを試すことができます:

DateTime.Now.ToString(new System.Globalization.CultureInfo(Thread.CurrentThread.CurrentCulture.Name));

たとえば、特定の文化の時間を表示したい場合は、次のようにします。

DateTime.Now.ToString(new System.Globalization.CultureInfo("ES-es"))

cultureinfo は IFormatProvider として機能します。

于 2008-11-24T10:06:46.023 に答える
-1

CultureInfoクラスは、探し始めるのに適した場所です。

于 2008-11-24T09:59:38.860 に答える