我在前端的工作很弱,需要一点帮助。
我正在开发一个基本的形式,给用户可用于预订未来3天内的预约时间选项。
因此,到目前为止,我写道:
var today = new Date();
var lastday = new Date(today);
lastday.setDate(today.getDate() + 4);
var daterange = getAllDays(today, lastday);
function getAllDays(today, lastday)
{
var s = new Date(today);
var e = new Date(lastday);
var a = [];
//this gets my start time days
while (s < e)
{
//if day Saturday hours change
if(s.getDay() == 0)
{
//if Sunday skip
}
else if (s.getDay() == 6)
{
//push start onto array
a.push(setWorkingHours(s, '10'));
//push end onto array
a.push(setWorkingHours(s, '20'));
}
else
{
//push start onto array
a.push(setWorkingHours(s, '13'));
//push end onto array
a.push(setWorkingHours(s, '20'));
}
s = new Date(s.setDate(s.getDate() + 1))
}
return a;
};
function setWorkingHours(date, hour)
{
var dateTime = new Date();
dateTime.setDate(date.getDate());
dateTime.setHours(hour, '0', '0');
return dateTime;
}
alert(daterange.join('\n'));现在,我知道这可能需要改进,我对任何改进都持开放态度。
因此,上面的代码得到了一个带有开始和停止时间的天数组。现在,我正在努力弄清楚如何获得每天开始和停止时间内的小时数组。
此外,一旦我有了小时数,我就有一个对google日历的查询,它返回事件,所以我将把它解析成一个数组。
即将到来的活动: Bob Builder (2015-08-07T10:00:00-08:00) John Doe (2015-08-08T11:00:00-08:00) Mary Jane (2015-08-10T18:00:00-08:00)
最后,我需要将可用数组与预订的数组“相交”,并返回剩余的数组。
至于任命本身。如果一个人选择了一个时间,我就会安排两个小时的时间。约会可以从一小时的顶部或底部开始。
发布于 2015-08-08 02:48:12
引用你的数组问题,创建一个数组的对象。导入动量。创建一个由start和end组成的两项数组。他们的date对象更完整,而且他们有很好的功能来检查。
Calendar = {
January-1: [[new Date(), new Date() ], [new Date(), new Date() ]]
} 对于第二部分来说,underscorejs是不错的。使用_.zip(数组,数组)。(您需要格式化google数组以匹配您的数组
我希望我没弄错,我是新来的。Wew84
https://stackoverflow.com/questions/31884340
复制相似问题