java HOUR и HOUR_OF_DAY оба возвращают 12-часовое время

Я использую следующий код, чтобы попытаться получить HOUR_OF_DAY (0-23) временной метки unix, преобразованной в миллисекунды. Временная метка «1296442971» преобразуется в Sun 30 января 2011 22:02:51 GMT-0500 (EST).

Я запускаю следующий код, чтобы попытаться получить 24-часовую временную метку:

    //calculate the hour for this timestamp
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeZone(TimeZone.getTimeZone(tz));             
    calendar.setTimeInMillis(ts * 1000);
    int hour = calendar.get(Calendar.HOUR_OF_DAY);  
    int twelveHour = calendar.get(Calendar.HOUR);

В этом примере, и «час», и «двенадцать часов» имеют значение 10, тогда как «час» должен иметь значение «22». Есть ли у кого-нибудь идеи относительно того, что может быть не так с моим кодом?

Спасибо!

5
задан TomBomb 31 January 2011 в 04:48
поделиться