js根據某個日期,獲取該日期的前一個星期六以及後一個星期五

      //獲取時間段
      var date = new Date();

      //標準日期格式yyyy/mm/dd
      var weekByDate = date.substring(0, 4) + "/" + date.substring(5, 7) + "/" + date.substring(8, 10);

      console.log(getWeekByDay(weekByDate));


      //獲取日期字符串對應的時間戳
      var timestamp = new Date(weekByDate).getTime();

      //獲取星期幾
      var currentDay = new Date(weekByDate).getDay();

      //獲取時間戳
      var previousSaturdayTime;
      var nextFridayTime;
      if (currentDay == 0) {
        //獲取該天前一個星期六的時間戳
        previousSaturdayTime = timestamp- 24 * 60 * 60 * 1000;
        //獲取該天后一個星期五的時間戳
        nextFridayTime = timestamp + (5 - currentDay) * 24 * 60 * 60 * 1000;
      } else {
        //獲取該天前一個星期六的時間戳
        previousSaturdayTime = timestamp - (currentDay + 1) * 24 * 60 * 60 * 1000;
        //獲取該天后一個星期五的時間戳
        nextFridayTime = timestamp + (5 - currentDay) * 24 * 60 * 60 * 1000;
      }

      console.log("前一個星期六的日期---" + getNowFormatDate(previousSaturdayTime));
      console.log("後一個星期五的日期---" + getNowFormatDate(nextFridayTime));

      /*
       *根據日期獲取當前星期X(0-6,0代表星期天)
       *@param yyyy/mm/dd 標準日期格式
       *@returns:星期X
       */
      function getWeekByDay(weekByDate) {
        var week = new Date(weekByDate).getDay();
        //創建星期數組
        var weekNum = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
        return weekNum[week];
      }

      /*
       *獲取當前時間戳的日期字符串
       * @param timestamp 時間戳
       *@returns:YYYY年MM月DD日
       */
      function getNowFormatDate(timestamp) {
        var year = new Date(timestamp).getFullYear();
        var month = new Date(timestamp).getMonth() + 1;
        var date = new Date(timestamp).getDate();
        if (month >= 1 && month <= 9) {
          month = "0" + month;
        }
        if (date >= 0 && date <= 9) {
          date = "0" + date;
        }
        var dateByTime = year + "年" + month + "月" + date + "日";
        return dateByTime;
      }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章