仏陀は偉大なのです。
例えば、ちょうど今、
Calendar cal = Calendar.getInstance(); System.out.println(cal.get(Calendar.YEAR));
とやっても、タイでは「2006」が返って来ないかもしれません。試しに、ロケールをタイにした検証結果を載せてみます。
Calendar cal1 = Calendar.getInstance(Locale.JAPAN);
System.out.println("JAPAN: " + cal1.get(Calendar.YEAR));
Calendar cal2 = Calendar.getInstance(new Locale("th", "TH"));
System.out.println("THAI : " + cal2.get(Calendar.YEAR));
【結果】
JAPAN: 2006
THAI : 2549種明かしは、Calendarのソースにあります。以下、JDKのソースの引用です。
private static Calendar createCalendar(TimeZone zone,
Locale aLocale)
{
if ("th".equals(aLocale.getLanguage())
&& ("TH".equals(aLocale.getCountry()))) {
return new sun.util.BuddhistCalendar(zone, aLocale);
}
return new GregorianCalendar(zone, aLocale);
}自動的にsun.util.BuddhistCalendarが返って来てしまうわけです。タイのエンジニアは困らないんでしょうかねえ?