2014-11-10 4 views
-1

У меня есть TimePicker, в котором я выбираю час и минуты. Тогда я поставил его в календарь, как это:Календарь отменяет час дня в Android

private Calendar getCalendar() { 
    Calendar calendar = Calendar.getInstance(); 

    calendar.set(Calendar.HOUR, picker.getCurrentHour()); 
    calendar.set(Calendar.MINUTE, picker.getCurrentMinute()); 
    calendar.set(Calendar.SECOND, 0); 

    return calendar; 
} 

Проблема заключается в том, что если я выбираю, например, час: 19 и 41 минут, который 19:41 позже, когда я звоню getCalendar().getTimeInMillis() возвращает 1415688060910, который Tue Nov 11 2014 07:41:00 GMT+0100 (CET), поэтому он меняет его. Если я выберу 7:41, это будет Tue Nov 11 2014 19:41:00 GMT+0100 (CET). Что я делаю не так?

+2

Где твоя сборная? Именно это и вызывает проблему. – zgc7009

+0

Я могу изменить 'picker.getCurrentHour()' на 19 и, соответственно, на минуты, и он по-прежнему возвращает неверный TimeInMillis. –

+0

Это может быть проблема с часовым поясом? Вы случайно не смогли бы жить на острове Тихого океана? – PearsonArtPhoto

ответ

3

calendar.set(Calendar.HOUR_OF_DAY, picker.getCurrentHour());

+0

Документы: * HOUR_OF_DAY' используется для 24-часового часа * –

Смежные вопросы