js,vue, 獲取指定日期的那一周的開始、結束日期(從周日~周六)


需求:  給定一個日期,如: 2019-11-01, 獲取該日期所在的這一周的開始時間、結束時間(按周日~周六算)

當執行: this.getWeekStartAndEnd('')的時候, 默認回去的問今天所在一周的開始、結束日期,

     執行:this.getWeekStartAndEnd('2019-11-01'),  會輸出  10.27~11.02

// 日期格式化
         formatDate( date) {
             var myyear  = date. getFullYear();
             var mymonth  = date. getMonth()  +  1;
             var myweekday  = date. getDate();
             if (mymonth  <  10) {
                mymonth  =  "0"  + mymonth;
            }
             if (myweekday  <  10) {
                myweekday  =  "0"  + myweekday;
            }
             return mymonth  +  "."  + myweekday
        },
         // 獲取指定日期的那一周的開始、結束日期
         getWeekStartAndEnd( val) {
             let now  =  '';
             if(val) {
                now  =  new  Date(val);  // 日期
            }  else {
                now  =  new  Date();  // 日期
            }
             let nowDayOfWeek  = now. getDay();  // 本周的第幾天
             let nowDay  = now. getDate();  // 當前日
             let nowMonth  = now. getMonth();  // 當前月
             let nowYear  = now. getYear();  // 當前年

             let weekStart  =  this. getWeekStartDate(nowYear, nowMonth, nowDay, nowDayOfWeek)
             let weekEnd  =  this. getWeekEndDate(nowYear, nowMonth, nowDay, nowDayOfWeek)
             this.weekFormat  = weekStart  +  '~'  + weekEnd
             console. log( this.weekFormat)
        },
         // 獲得某一周的開始日期
         getWeekStartDate( nowYearnowMonthnowDaynowDayOfWeek) {
             let weekStartDate  =  new  Date(nowYear, nowMonth, nowDay  - nowDayOfWeek)
             return  this. formatDate(weekStartDate)
        },
         // 獲得某一周的結束日期
         getWeekEndDate( nowYearnowMonthnowDaynowDayOfWeek) {
             let weekEndDate  =  new  Date(nowYear, nowMonth, nowDay  + ( 6  - nowDayOfWeek))
             return  this. formatDate(weekEndDate)
        }

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM