Как создать временной интервал, который увеличит время на 15 минут в android studio?
всем привет ..
я хочу сделать временной интервал который увеличится на 15 минут я имею в виду что я хочу сделать такой временной интервал как этот :
1:00 - 1:15
1:15 - 1:30
1:30 - 1:45
1:45 - 2:00
2:00 - 2:15
.
.
.
.
Что я уже пробовал:
я пытаюсь сделать этот метод, но он не дает правильного решения, поэтому, пожалуйста, помогите мне:
private ArrayList<String> getTimeSet(boolean isCurrentDay) { ArrayList results = new ArrayList<String>(); SimpleDateFormat sdf = new SimpleDateFormat("hh:mm a"); for (int i = 0; i < 9; i++) { int n=15; Calendar calendar = new GregorianCalendar(); if(!isCurrentDay) calendar.set(Calendar.HOUR_OF_DAY, 9); calendar.add(Calendar.HOUR_OF_DAY, -i ); calendar.set(Calendar.MINUTE, 0); calendar.add(Calendar.MINUTE, n); calendar.set(Calendar.SECOND, 0); String day1 = sdf.format(calendar.getTime()); calendar.add(Calendar.HOUR, 0); calendar.add(Calendar.MINUTE, n); String day2 = sdf.format(calendar.getTime()); String day = day1 + " - " + day2; results.add(i, day); System.out.println(results); n+=15; } return results; } }
Richard MacCutchan
Используйте счетчик, который идет от нуля до любого количества минут, которые вы хотите в общей сложности, увеличиваясь на 15. Каждый раз, когда вам нужно создать время, просто преобразуйте значение (количество минут) в часы и минуты и установите время от этого.
Lania Fatah
спасибо за ваши заметки , я попробую это сделать, спасибо
Richard MacCutchan
Используя класс Calendar, установите для него нужное время начала. Вы тогда просто несколько раз позвоните Календарь.добавить()[^] добавить 15 минут. Класс позаботится о нормализации нового времени к правильному, часу, дню и т. д.
Lania Fatah
спасибо за вашу помощь
David Crow
"но это не дает правильного решения"
Так что же это дает?
Lania Fatah
это и есть результат :
[01:15 ВЕЧЕРА - 01:30 ВЕЧЕРА,
12:15 - 12:30 ВЕЧЕРА,
11:15 - 11:30 УТРА,
10:15 - 10:30 УТРА,
09:15 - 09:30 УТРА,
08:15 - 08:30 УТРА,
07:15 - 07:30 УТРА,
06:15 - 06:30 УТРА,
05:15 - 05:30 УТРА]
но я хочу этого:
[1:00 - 1:15,
1:15 - 1:30,
1:30 - 1:45
.
.
]
David Crow
Первая странная вещь, которую я вижу, это то, что вы сидите n
до 15 в верхней части петли, а затем увеличить его на 15 в нижней части петли. Последнее не служит никакой цели.
Следующее, что я вижу, - это то, что ваш код отсчитывает назад на один час за итерацию цикла (и это видно по результату), но ваш желаемый результат отсчитывает вперед. Я что-то не так понял?
На этой же ноте ваш желаемый вывод отсутствует в обозначениях AM/PM. Если это правильно, то пробовали ли вы удалить букву "а" из списка? SimpleDateFormat
возражать?
Lania Fatah
спасибо за вашу помощь....
Richard MacCutchan
Используйте 24-часовой формат времени, и это будет менее запутанным. Вы не можете перейти с 12:30 вечера до 11:15 утра на 15 минут.
Lania Fatah
спасибо за вашу помощь....