首页 > 解决方案 > Flutter 两次之间的时间?

问题描述

我正在制作一个允许用户预约的应用程序。然而,我被困住了,因为我不知道如何去寻找沙龙的活跃时间。

首先,我创建了一个 Firebase 文档来保存时间(从开放到关闭),如下所示:

monday: [ "9:30am", "5:30pm" ]

解析时间不是问题,但是,我将如何生成时间列表。例如,打印出如下列表:

9:30am, 10:30am, 11:30am, 12:30pm, 1:30pm, 2:30pm, 3:30pm, 4:30pm.

对于更繁忙的沙龙,每隔 30 分钟打印一次小时列表:

9:30am, 10:00am, 10:30am, etc.

我不知道这是否有任何意义,但任何帮助表示赞赏。

标签: firebaseflutterdart

解决方案


你可以做这样的事情。

void main() {
  
  DateTime _currentDate = DateTime(1990,1,1,9,30);
  
  String _shiftedDate="";
  
  List<String> _workingTimeSlot = [];
  
  
  while(_shiftedDate != "17:30"){
    
    _shiftedDate = "${_currentDate.hour}:${_currentDate.minute}";
    _workingTimeSlot.add(_shiftedDate);
    _currentDate =  _currentDate.add(Duration(minutes:30));
        
  }
    print(_workingTimeSlot);

}

但是您应该首先解析这些字符串并比较实际的 DateTime 对象而不是字符串。并改用 DateFormatter 。这只是一个例子


推荐阅读