判断日期是周几
/**
* 判断日期是周几
* @param dateStr 日期[yyyy-MM-dd]
* */
function getWeek(dateStr) {
var dateArray = dateStr.split("-");
date = new Date(dateArray[0], parseInt(dateArray[1] - 1), dateArray[2]);
return "周" + "日一二三四五六".charAt(date.getDay());
}
今日时间 加x天 , 减x天后的日期
/**
* 今日时间 加x天 , 减x天后的日期
* @param count 正数加 或者 负数减
* */
function rangeDate(count) {
var dd = new Date();
dd.setDate(dd.getDate() + count);
var y = dd.getFullYear();
var m = dd.getMonth() + 1;
var d = dd.getDate();
return y + "-" + m + "-" + d;
}
获取日期节假日
需要引入calendar.js
/**
* 获取节假日
* @param data 阳历时间[yyyy-MM-dd]
*/
function getFestivalData(date) {
var dateArray = date.split("-");
// 获取阴历信息
var result = calendar.solar2lunar(dateArray[0], dateArray[1], dateArray[2]);
// 获取节假日
var festival = getFestival(dateArray[1], dateArray[2], result.IMonthCn, result.IDayCn);
return festival;
}
/**
* 获取节假日
* @param bmon 阳历月
* @param bday 阳历日
* @param smon 阴历月
* @param sday 阴历日
*/
function getFestival(bmon, bday, smon, sday) {
var str = "";
if ((bmon == "01") && (bday == "01")) {
str = "元旦";
} else if ((bmon == "03") && (bday == "08")) {
str = "妇女节";
} else if ((bmon == "03") && (bday == "12")) {
str = "植树节";
} else if ((bmon == "04") && (bday == "05")) {
str = "清明节";
} else if ((bmon == "05") && (bday == "01")) {
str = "劳动节";
} else if ((bmon == "05") && (bday == "04")) {
str = "青年节";
} else if ((bmon == "06") && (bday == "01")) {
str = "儿童节";
} else if ((bmon == "07") && (bday == "01")) {
str = "建党节";
} else if ((bmon == "08") && (bday == "01")) {
str = "建军节";
} else if ((bmon == "09") && (bday == "03")) {
str = "抗日战争胜利纪念日";
} else if ((bmon == "09") && (bday == "10")) {
str = "教师节";
} else if ((bmon == "10") && (bday == "01")) {
str = "国庆节";
} else if ((bmon == "12") && (bday == "13")) {
str = "国家公祭日";
} else if ((smon == "正月") && (sday == "初一")) {
str = str.length > 0 ? str + "、春节" : "春节";
} else if ((smon == "正月") && (sday == "十五")) {
str = str.length > 0 ? str + "、元宵节" : "元宵节";
} else if ((smon == "二月") && (sday == "初二")) {
str = str.length > 0 ? str + "、龙抬头" : "龙抬头";
} else if ((smon == "五月") && (sday == "初五")) {
str = str.length > 0 ? str + "、端午节" : "端午节";
} else if ((smon == "七月") && (sday == "初七")) {
str = str.length > 0 ? str + "、七夕" : "七夕";
} else if ((smon == "八月") && (sday == "十五")) {
str = str.length > 0 ? str + "、中秋节" : "中秋节";
} else if ((smon == "九月") && (sday == "初九")) {
str = str.length > 0 ? str + "、重阳节" : "重阳节";
} else if ((smon == "腊月") && (sday == "廿三")) {
str = str.length > 0 ? str + "、小年" : "小年";
} else if ((smon == "腊月") && (sday == "三十")) {
str = str.length > 0 ? str + "、除夕" : "除夕";
}
return str;
}
获得两个日期范围内所有的日期
/**
* 获得时间范围内所有的时间
* @param start 开始日期 yyyy-MM-dd
* @param end 结束日期 yyyy-MM-dd
* @returns []
*/
function getAll(start, end) {
var dateList = [];
var startTime = getDate(start);
var endTime = getDate(end);
while ((endTime.getTime() - startTime.getTime()) >= 0) {
var year = startTime.getFullYear();
var month = startTime.getMonth() + 1 < 10 ? '0' + (startTime.getMonth() + 1) : startTime.getMonth() + 1;
var day = startTime.getDate().toString().length == 1 ? "0" + startTime.getDate() : startTime.getDate();
dateList.push(year + "-" + month + "-" + day);
startTime.setDate(startTime.getDate() + 1);
}
return dateList;
}
/**
* 字符串时间转对象
* @param dateStr 日期 yyyy-MM-dd
* @returns {Date}
*/
function getDate(dateStr) {
var temp = dateStr.split("-");
var date = new Date(temp[0], temp[1] - 1, temp[2]);
return date;
}
日期天数加减
/**
* 时间加减
* @param num 要加的天数或减的天数
* @param date 时间字符串 yyyy-MM-dd
* @returns string
*/
function dateChange(num, date) {
if (!date) {
date = new Date();//没有传入值时,默认是当前日期
date = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
}
date += " 00:00:00";//设置为当天凌晨12点
date = Date.parse(new Date(date))/1000;//转换为时间戳
date += (86400) * num;//修改后的时间戳
var newDate = new Date(parseInt(date) * 1000);//转换为时间
return newDate.getFullYear() + '-' + ( newDate.getMonth() + 1 > 9 ? newDate.getMonth() + 1 : "0" + (newDate.getMonth() + 1) ) + '-' + ( newDate.getDate() > 9 ? newDate.getDate() : "0" + newDate.getDate() );
}