やっぱり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に関してはウソじゃないことを確認できたのでいいです。