友
我正在预约预约项目,详情如下: 营业时间从 9:00 开始到 7:00 ,默认持续时间 30分钟。所以,老虎机开始像(9:00,9:30,10:00~7:00)。
这里,为了显示可用的插槽,我正在使用以下逻辑。
这里的问题是,考虑如果预约 9:30-10:00 。 根据我的逻辑, 9:30 与LIST A元素匹配,它将从该列表中删除9:30。
因此,可用的插槽将显示为[9:00,X,10:00,10:30,...... 7:00]。实际应该是[9:00,9:30,10:30,11:00~7:00]
而不是显示可用的广告位 9:00-9:30,10:30-11:00 ,它显示 9:00-10:00,10:30-11 从9:30开始被删除。
请帮助解决此问题,或建议我解决此问题的其他方法。非常需要。
答案 0 :(得分:2)
你正在混淆的是,你将第二个插槽的开始时间作为第一个插槽的结束时间。所以,不要这样做,你可以做的是存储开始时间和持续时间。
要简单地计算结束时间,你可以
StartTime.AddMinutes(30);
最后再添加一条评论;你正试图建立一个非常严格的结构。如果你试图扩展应用程序,将面临问题,恕我直言。
答案 1 :(得分:2)
我建议,不要使用单维数组,而是使用像
这样的多维数组[[9:00][9:30],[9:30][10:00],[10:00][10:30], .... nth Item]
这里,Logic应该是这样的
var start=[start time]
var end=[end time]
var duration=[duration]
for (i=start;i<end;i+=duration)
{
if(start==A[i][0])
remove(A[i][0]);
}
A.sort();
return A;