Java Cookbook
Get the best date format pattern
Problem:
You know what parts of a date you want to display but you don't know the exact pattern to use.
Solution:
Often a Java programmer will know what type of pattern he wants, but not exactly what the pattern would be. With icu4j's DateTimePatternGenerator you can specify a pattern skeleton, and it will return the most appropriate localized match.
To get the best pattern for the skeleton, "MMMddYYYYH" in Japanese:
//Get a Locale object
ULocale locale = new ULocale("ja_JP");
//Get an instance of the DatePatternGenerator for the locale
DateTimePatternGenerator dp = DateTimePatternGenerator.getInstance(locale);
//Get the best pattern match
String best = dp.getBestPattern("MMMddYYYYHH");
//output the best pattern match
System.out.println(best);
//Get a DateFormat for the pattern
DateFormat df = new SimpleDateFormat(best);
//output a formatted date
System.out.println(df.format(new Date()));
The output:
YYYY年MM月dd日 HH
2008年12月06日 15
As you can see the closest match uses a 4 digit year followed by a year symbol, a 2 digit month followed by a month symbol, a 2 digit day followed by a day symbol, and a 0~24 hour.
If you are testing any of these recipes in Eclipse and the characters are not displaying correctly in your console visit http://i18ncookbook.com/eclipse_settings.
This site is ad supported. I hope you find something among our sponsors worth clicking. ;)
i18n search