2016-05-20 26 views
-2

Я добавляю событие, событие отображает начальный час (чч: мм) и конечный час (чч: мм), есть 2 игрока tiemPickers, один для выбора времени начала и один для продолжительности.Преобразование строки в формат даты

Задача 1:

Если пользователь выбирает начальное время, чтобы быть в 10: 30h и продолжительность 1: 40h, время окончания должно быть 12: 10ч вместо 11: 70h, как я сделай это?

Задача 2:

Если пользователь выбирает начальное время 23: 00h и продолжительность 02: 00h, время окончания должно быть 01: 00h вместо 25: 00ч.

Что у меня есть:

// getting the selected time 
int endingHourInt = prefs.getInt("mDurationHour", 0) + prefs.getInt("mStartingHour",0); 
int endingMinInt = prefs.getInt("mDurationMin", 0) + prefs.getInt("mStartingMin",0); 

// displaying the text 
endingTime.setText(endingHourInt + ":" + endingMinInt); 
+0

Использование java.util.Date класса и GetTime(). Если вы используете Android-N, то классы java.time лучше. –

+0

Я бы установил новую дату с окончанияHour и заканчивалMinute и форматировал дату, как мне нравится – Arctigor

+0

Не проще ли использовать существующие классы вместо ints. Вы можете делать все эти вычисления автоматически со временем в классе 'Date'. –

ответ

4
Calendar calendar = Calendar.getInstance(); 
calendar.set(endingHourInt,Calendar.HOUR); 
calendar.set(endingMinInt,Calendaur.MINTUE); 
calendar.add(Calendar.HOUR_OF_DAY, 2); 
SimpleDateFormat format = new SimpleDateFormat("HH:mm"); 
format.format(calendar.getTime()); 
+2

Вы забываете, что OP хочет добавить время к своему текущему времени. Поэтому я бы добавил «calendar.add (Calendar.HOUR_OF_DAY, 2);», чтобы сделать ваш ответ более полным. –

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