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