2012-05-12 5 views
8

を得ることができます。私はすでに見つかっ何は、どのように私は誰かが私が指定されたロケール(またはデフォルトのロケール)のデフォルトの日付と時刻のフォーマットパターン(String)を得ることができる方法を教えてもらえデフォルトの日付と時刻のフォーマットパターン

(他の誰かのために役に立つかもしれません):デフォルトのロケールを取得する方法

  1. Locale currentLocale= Locale.getDefault(); 
    System.out.print(currentLocale.toString()); 
    
    Result is "en_US" 
    
  2. 小数点の区切り記号を取得する方法。

    DecimalFormatSymbols decimalFormatSymbols = 
                new DecimalFormatSymbols(currentLocale); 
    System.out.print(decimalFormatSymbols.getDecimalSeparator()); 
    
    Result is "." 
    
  3. デフォルトの日付と時刻のフォーマットパターン(文字列)を取得する方法。

    (do something) 
    System.out.print(something); 
    And got at output something like this: "dd/mm/yyyy" or "hh:mm:ss".. 
              or other values for specified locale. 
    

どうもありがとうございました。

UPD: 見つかりソリューション:

SimpleDateFormat simpleDateFormat = new SimpleDateFormat(); 
String dateLocalizedFormatPattern = simpleDateFormat.toLocalizedPattern(); 

The result of System.out.print(dateLocalizedFormatPattern) 
              on my device is "M/d/yy h:mm a". 
+0

私の答えを確認するhttp://stackoverflow.com/questions/10204291/convert-time-to-millisecond-and-find-out-time-period-in-java-or-android/10204628#10204628 – Khan

答えて

3

更新

ロシアのクマは、書式文字列を返しますSimpleDateFormattoLocalizedPattern()方法があるの質問に彼のアップデートで言及したよう。それはプライベートなコンストラクタの中で

オリジナル答え

SimpleDateFormatは、次のコードを使用しています:

... 
ResourceBundle r = LocaleData.getDateFormatData(loc); 
if (!isGregorianCalendar()) { 
    try { 
     dateTimePatterns = r.getStringArray(getCalendarName() + ".DateTimePatterns"); 
    } catch (MissingResourceException e) { 
    } 
} 
if (dateTimePatterns == null) { 
    dateTimePatterns = r.getStringArray("DateTimePatterns"); 
} 
... 

だから、実際のフォーマット文字列はLocaleData.getDateFormatData()メソッドを介してアクセスResourceBundleであるように思われます。

残念ながらLocaleDataクラスは内部sun.util.resourcesパッケージの一部です。

+0

ヨハン、ありがとう! –

+0

しかし、私はあなたが私が –

+0

あなたの答えは、私はちょうど日付の部分を印刷したい場合はどう –

0

私が何をしたいことはDateFormatクラスを使用することだと思います。 getDateInstance(int, Locale)メソッドを確認してください。

関連する問題