JS判斷日期是否在同一個星期內,和同一個月內

今天要用到判斷日期是否在同一個星期內和是否在同一個月內,在網上找了好一下子也沒找到合適的,而後本身寫了一個方法來處理這個問題,思路就不詳細介紹了,直接附上代碼,本身測試了一下 沒有問題,如有問題請在評論區給我留言\(≧▽≦)/測試

/*對象

*判斷是否在同一個星期裏字符串

*date:時間字符串get

*return:true/falseio

*/ast

function SameWeek(date) {    function

var date1 = new Date(date.replace(/-/g, "/"));         //將傳入的時間字符串轉換成時間對象    date

var date2 = new Date();     //當前時間    方法

var curWeek = date2.getDay();           //獲取當前星期幾    im

var monday = GetDate((curWeek), 1); //計算出星期一    

var sunday = GetDate((7 - curWeek), 2); //計算出星期天

    if (date1.getTime() < monday.getTime() || date1.getTime() > sunday.getTime()) {        

return false;       //不在同一個星期內    

} else {        

return true;        //在同一個星期內    

}

}

 

/*

*判斷是否在同一個月

*date:時間字符串

*return:true/false

*/

function SameMonth(date) {    

var date1 = new Date(date.replace(/-/g, "/"));         //將傳入的時間字符串轉換成時間對象    

var date2 = new Date();            //當前時間    

var curDay = date2.getDate();           //獲取當前幾號    

var firstDay = GetDate((curDay), 1);                                //計算出當月第一天    

var lastDay = GetDate((getDaysInMonth(date2.getFullYear(), date2.getMonth() + 1) - curDay), 2);    //計算出當月最後一天

    if (date1.getTime() < firstDay.getTime() || date1.getTime() > lastDay.getTime()) {        

return false;       //不在同一個月內    

} else {        

return true;        //在同一個月內    

}

}

 

/*

*獲取某年某月有多少天

*/ function getDaysInMonth(year, month) {    

month = parseInt(month, 10) + 1;    

var temp = new Date(year + "/" + month + "/0");    

return temp.getDate();

}

 

/*

*獲取當前日期前N天或後N日期(N = day)

*type:1:前;2:後

*/

function GetDate(day, type) {    

var zdate = new Date();    

var edate;    

if (type == 1) {        

edate = new Date(zdate.getTime() - (day * 24 * 60 * 60 * 1000));    

} else {        

edate = new Date(zdate.getTime() + (day * 24 * 60 * 60 * 1000));   

  }    

return edate;

}

相關文章
相關標籤/搜索