我怎样才能比较Adhoc,每日,每周和每月DateTime javascript

时间:2017-09-28 04:01:53

标签: javascript date datetime internet-explorer

首先请原谅我破碎的英语。我正面临一个问题。

目前我的项目是一个公告系统项目。然后用户可以在我的日历中添加新公告。所以我的日历可以有很多选择。

现在的问题是,让我的日历公告有四条记录:

  1. 标题:公告特设1 StartDate:2017-09-26 开始时间:00:00 RecurrencePattern:Adhoc EndDate:2017-09-26 结束时间:00:03

  2. 标题:每日公告1 StartDate:2017-09-26 开始时间:01:00 RecurrencePattern:每日 EndDate:2017-09-26 结束时间:01:03

  3. 标题:每周公告 StartDate:2017-09-26 StartTime:02:00 RecurrencePattern:每周 天:[“1”,“3”,“4”] //这是getDate()和存储 EndDate:2017-09-26 结束时间:02:03

  4. 标题:每月公告 StartDate:2017-09-26 StartTime:03:00 RecurrencePattern:每月 EndDate:2017-09-26 结束时间:03:03

  5. 现在我想添加一条新的公告记录,这些记录在这些记录中的StartDate StartTime和EndDate EndTime之间无法匹配。我该怎么办?

    注意:

    1. Adhoc只播放一次。

    2. 每天将根据开始时间每天播放,直到结束时间。

    3. 每周将根据日期,开始时间和结束时间进行播放。

    4. 每月将根据月份日期,开始时间和结束时间播放。

    5. 希望你们都明白我在问什么,你们的帮助会挽救我的生命。

      非常感谢你。

      这是我的代码:

      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;
        }
      }

0 个答案:

没有答案