首先请原谅我破碎的英语。我正面临一个问题。
目前我的项目是一个公告系统项目。然后用户可以在我的日历中添加新公告。所以我的日历可以有很多选择。
现在的问题是,让我的日历公告有四条记录:
标题:公告特设1 StartDate:2017-09-26 开始时间:00:00 RecurrencePattern:Adhoc EndDate:2017-09-26 结束时间:00:03
标题:每日公告1 StartDate:2017-09-26 开始时间:01:00 RecurrencePattern:每日 EndDate:2017-09-26 结束时间:01:03
标题:每周公告 StartDate:2017-09-26 StartTime:02:00 RecurrencePattern:每周 天:[“1”,“3”,“4”] //这是getDate()和存储 EndDate:2017-09-26 结束时间:02:03
标题:每月公告 StartDate:2017-09-26 StartTime:03:00 RecurrencePattern:每月 EndDate:2017-09-26 结束时间:03:03
现在我想添加一条新的公告记录,这些记录在这些记录中的StartDate StartTime和EndDate EndTime之间无法匹配。我该怎么办?
注意:
Adhoc只播放一次。
每天将根据开始时间每天播放,直到结束时间。
每周将根据日期,开始时间和结束时间进行播放。
每月将根据月份日期,开始时间和结束时间播放。
希望你们都明白我在问什么,你们的帮助会挽救我的生命。
非常感谢你。
这是我的代码:
var NewAddStartDateTime = "2016-09-27T13:11:00";
var NewAddEndDateTime = "2016-09-27T13:20:00";
var jsonObj = [{
"id": 1,
"type": "Adhoc",
"days": [],
"startDateTime": "2016-09-28T13:11:00",
"endDateTime": "2016-09-28T13:19:00"
}, {
"id": 2,
"type": "Weekly",
"days": ["1", "3", "4"],
"startDateTime": "2016-09-28T13:11:00",
"endDateTime": "2016-09-28T13:19:00"
}]
//jsonObj[i].startDateTime = "2016-09-27T13:11:00"
//jsonObj[i].endDateTime = "2016-09-27T13:19:00"
for (var i = 0; i < jsonObj.length; i++) {
if ((NewAddStartDateTime > jsonObj[i].startDateTime && NewAddStartDateTime < jsonObj[i].endDateTime) || NewAddStartDateTime == jsonObj[i].startDateTime || (NewAddEndDateTime > jsonObj[i].startDateTime && NewAddEndDateTime < jsonObj[i].endDateTime)) {
console.log("cannot add because in between the date match Adhoc");
CannotAdd = true;
QuitLoop = true;
break;
}
}