やっぱりJavaは大丈夫だった
"サマータイムなんて言語レベルで対応されている"が気になって、試してしまいました。
こんなテストプログラムを書いて
import java.util.Calendar; import java.util.TimeZone; public class CalendarTest { public CalendarTest() { TimeZone tz = TimeZone.getTimeZone("America/Detroit"); TimeZone tz2 = TimeZone.getTimeZone("Asia/Tokyo"); Calendar calendar = Calendar.getInstance(tz); print("Detroit", calendar); calendar.setTimeZone(tz2); print("Tokyo", calendar); } private void print(String comment, Calendar calendar) { String am_or_pm = {"am", "pm"}; System.out.println(comment+": "+ calendar.get(Calendar.HOUR)+":"+ calendar.get(Calendar.MINUTE)+ am_or_pm[calendar.get(Calendar.AM_PM)]+" "+ (calendar.get(Calendar.MONTH)+1)+" "+ calendar.get(calendar.DAY_OF_MONTH)+", "+ calendar.get(Calendar.YEAR)); } public static void main(String args) { new CalendarTest(); } }
実行してみたら
Detroit: 1:59pm 3 19, 2007 Tokyo: 2:59am 3 20, 2007
と出ましたので、大丈夫でした。
はてなダイアリーで使っている言語はJavaではなかったはず(Perl?)ですが、だからといって言語レベルでサマータイムがサポートされていないとは考えにくいのですが、、、
まぁ、「言語レベルで対応」がJavaに関してはウソじゃないことを確認できたのでいいです。