いくつかの国際化ユーティリティから取得したSimpleDateFormatオブジェクトがあります。日付の解析はすべて問題ありませんが、「MM/dd/yyyy」のようなフォーマットのヒントをユーザーに表示できるようにしたいと思います。 SimpleDateFormatオブジェクトからフォーマットパターンを取得する方法はありますか?
この日付形式を説明するパターン文字列を返します。
特定のロケールのパターン文字列を取得する必要がある場合は、次のように機能します。
/* Obtain the time format per current locale */
public String getTimeFormat(int longfmt) {
Locale loc = Locale.getDefault();
int jlfmt =
(longfmt == 1)?java.text.SimpleDateFormat.LONG:Java.text.SimpleDateFormat.SHORT;
SimpleDateFormat sdf =
(SimpleDateFormat)SimpleDateFormat.getTimeInstance(jlfmt, loc);
return sdf.toLocalizedPattern();
}
/* Obtain the date format per current locale */
public String getDateFormat(int longfmt) {
Locale loc = Locale.getDefault();
int jlfmt =
(longfmt == 1)?java.text.SimpleDateFormat.LONG:Java.text.SimpleDateFormat.SHORT;
SimpleDateFormat sdf =
(SimpleDateFormat)SimpleDateFormat.getDateInstance(jlfmt, loc);
return sdf.toLocalizedPattern();
}
ここでは、特定のロケールのgetDateInstanceとgetTimeInstanceが重要です。
import Java.text.SimpleDateFormat;
public class Sdf {
public static void main( String [] args ) {
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
String patternToUse = sdf.toPattern();
System.out.println( patternToUse );
}
}