firebase - 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.
我不知道这是否有任何意义,但任何帮助表示赞赏。
解决方案
你可以做这样的事情。
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 。这只是一个例子