Получить неправильное значение времени окончания (выходит за пределы 60 минут)
Я работаю над календарем. Когда я нажимаю на пустое представление, мне нужно получить время начала и время окончания. Я правильно получаю время начала, но время окончания превышает 60 минут.
Например: 16:69, 16:79
Мне нужно как 5:09 вечера, 5:19 вечера
Пожалуйста, проверьте мой код, когда я добавляю 60 минут, он выходит за пределы 60 минут
mWeekView.setEmptyViewClickListener(new
WeekView.EmptyViewClickListener() {
@Override
public void onEmptyViewClicked(Calendar time) {
String startTime = String.format("%02d:%02d",time.get(Calendar.HOUR_OF_DAY),time.get(Calendar.MINUTE));
String endtime = String.format("%02d:%02d",time.get(Calendar.HOUR_OF_DAY),60+time.get(Calendar.MINUTE));/*time.getTimeInMillis()+60*60*1000*/
String startdate = String.format("%d/%s/%s",time.get(Calendar.DAY_OF_MONTH),time.get(Calendar.MONTH)+1,time.get(Calendar.YEAR));
Intent intent = new Intent(getActivity(),AddAppointment.class);
intent.putExtra("daystartdate", startdate);
intent.putExtra("daystartTime",startTime);
intent.putExtra("dayendtime",endtime);
startActivity(intent);
}
});
2 ответа
Я предполагаю, что вы хотите добавить час к текущему объекту Calendar
, поэтому вам нужно будет создать новый объект календаря и добавить к нему нужное время, или вы можете использовать уже переданный объект time
, Например,
mWeekView.setEmptyViewClickListener(new
WeekView.EmptyViewClickListener() {
@Override
public void onEmptyViewClicked(Calendar time) {
String startTime = String.format("%02d:%02d",time.get(Calendar.HOUR_OF_DAY),time.get(Calendar.MINUTE));
time.add(Calendar.MONTH, 1);
String startdate = String.format("%d/%s/%s",time.get(Calendar.DAY_OF_MONTH),time.get(Calendar.MONTH)+1,time.get(Calendar.YEAR));
time.add(Calendar.MONTH, -1);
time.add(Calendar.MINUTE, 60);
String endtime = String.format("%02d:%02d",time.get(Calendar.HOUR_OF_DAY),time.get(Calendar.MINUTE));/*time.getTimeInMillis()+60*60*1000*/
Intent intent = new Intent(getActivity(),AddAppointment.class);
intent.putExtra("daystartdate", startdate);
intent.putExtra("daystartTime",startTime);
intent.putExtra("dayendtime",endtime);
startActivity(intent);
}
});
Надеюсь это поможет!
Для решения вы используете календарь Util методами
Для времени начала вы можете использовать методы Calendar.setTime (Date date). а для конечного времени вы можете использовать тот же экземпляр календаря и добавить к нему 60 минут с помощью метода calender.add (int time, Calendar.Minutes);
Это может помочь вам.
Новые вопросы
android
Android - это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфоны, планшеты, автомобили, телевизоры, одежда, стекло, IoT). Для тем, связанных с Android, используйте специальные теги Android, такие как android-intent, android-activity, android-адаптер и т. Д. Для вопросов, не связанных с разработкой или программированием, но связанных с платформой Android, используйте эту ссылку: https: // android.stackexchange.com .