0

ユーザーが設定したカルチャ情報に基づいてアプリの日付と時刻をフォーマットしようとしていますが、表示されるすべてのヘルプリソースは、コードで各カルチャロケールを手動で入力する必要があることを示唆し続けています。たとえば、en-UKが必要な場合は、新しいCultureInfo( "en-UK");を手動で追加する必要があります。new CultureInfo( "en-UK");のようなもので。

実際にrtcカルチャ情報を入力しなくても、電話で現在設定されているカルチャを利用する方法はありますか?「date=ConvertToLocalCultureFormat(date);」のように機能する可能性がありますか?

4

3 に答える 3

1

これがWinPhone7で機能するかどうかはわかりませんが、使用できます

 CultureInfo.CurrentCulture.Name

現在のスレッドのCurrentCultureの名前を返します(en-UKまたはアプリが実行されているもの)

参考文献を参照してください

ただし、これは必要ありません。この方法で日時を文字列に変換する場合:

  DateTime dt = DateTime.Now;
  // Converts dt, formatted using the ShortDatePattern
  // and the CurrentThread.CurrentCulture.
  string dateInString = dt.ToString("d");

あなたはあなたの電話の正しいCultureInfoで変換を得るはずです。

于 2012-06-03T20:36:25.493 に答える
1

現在の文化を使用して何かをフォーマットするために、特別なことをする必要はまったくありません。特定のフォーマットまたはカルチャを含まないすべてのフォーマットのオーバーロードは、デフォルトのカルチャを使用します。

Date.ToString()たとえば、このメソッドはオーバーロードを呼び出してthis.ToString(CultureInfo.CurrentCulture)、アプリケーションの現在のカルチャ設定を取得し、フォーマットに使用します。

于 2012-06-03T20:45:07.223 に答える
0

現在の文化を手動で指定する必要があることを示唆する、どのヘルプリソースを読みましたか?

DateTime.ToString()パラメータなしの方法では、現在のカルチャから派生したフォーマット情報が自動的に使用されます。

この方法では、現在のカルチャから派生したフォーマット情報を使用します。特に、プロパティによって返されるオブジェクトのプロパティShortDatePatternLongTimePatternプロパティによって返されるカスタムフォーマット文字列を組み合わせます。DateTimeFormatInfoThread.CurrentThread.CurrentCulture.DateTimeFormat

DateTime exampleDate = new DateTime(2008, 5, 1, 18, 32, 6);
string s = exampleDate.ToString();
// Gives "5/1/2008 6:32:06 PM" when the current culture is en-US.
// Gives "01/05/2008 18:32:06" when the current culture is fr-FR.
// Gives "2008/05/01 18:32:06" when the current culture is ja-JP.
于 2012-06-03T20:45:00.057 に答える