Как получить время между двумя временами в трепете?

#flutter #dart

Вопрос:

У меня есть ситуация, когда пользователь выберет два разных times device clock варианта и выберет интервал (ex: 10,20 minutes) . После этого, когда пользователь нажмет кнопку отправки, он выдаст ему весь текст времени в соответствии с интервалом.

Пример:

 Start time: 10:30 AM
End time:   16:00 PM
Interval: 30 minutes
 

Ожидаемый результат:

 Times are: [10:30 AM ,11:00 AM, 11:30 AM, 12:00 PM ...]
 

Как я могу добиться такого результата в flutter? Я не знаю, с чего начать.

Ответ №1:

Я дам вам точку для начала. Вам нужно будет переписать его в соответствии с вашими целями!

 void main() {
  var date = DateTime.now();
  var secondDate = (date.add(Duration(hours: 3)));
  var interval = Duration(minutes: 30);
  var list = [];
  while(date.millisecondsSinceEpoch < secondDate.millisecondsSinceEpoch){
    date = date.add(interval);
    list.add(date);
  }
  print(list);
}
 

Вывод выглядит так:

 [2021-05-25 13:58:19.738, 2021-05-25 14:28:19.738, 2021-05-25 14:58:19.738, 2021-05-25 15:28:19.738, 2021-05-25 15:58:19.738, 2021-05-25 16:28:19.738]
 

Комментарии:

1. Это плохо, но приходит мне в голову только через 30 секунд

2. я попробую и дам вам знать.