Я использую следующий код, чтобы попытаться получить 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». Есть ли у кого-нибудь идеи относительно того, что может быть не так с моим кодом?
Спасибо!