ie浏览器由于兼容问题,日期比较使用出现NAN。
js的日期相减
- 日期与天数相加减
/**
@date 表示日期 格式为 yyyy-mm-dd
@days 表示增减的天数
*/
function addDate(date,days){
//ie浏览器的new Date方法的参数需要变成 mm/dd/yyyy 格式的,因此需要进行日期的转换
var d= new Date(Date.parse(date.replace(/-/g, "/")));
var days =Number(days)*24 * 60 * 60 * 1000; //将日期转化为毫秒
var date2 = new Date(d - days); //进行日期的相减
return date2;
}
- 日期与日期相减
//返回的为天数
function addDate(startDate,endDate){
//日期格式必须为mm/dd/yyyy,需要转化一下
var diff = Math.abs(startDate.getTime() - endDate.getTime())
var result = parseInt(diff / (1000 * 60 * 60 * 24));
return result;
}
日期的比较大小
function compareDate(startDate,endDate){
//日期格式需要转化为 mm/dd/yyyy ,才能进行比较
return (startDate-endDate); //返回为true,false
}
日期格式转化
- 将yyyymmdd格式转化为yyyy-mm-dd
//将yyyymmdd格式转化为yyyy-mm-dd
var d= rq.substring(0,4) + "-" + rq.substring(4,6) + "-" + rq.substring(6,8);
- yyyy-mm-dd转化为mm/dd/yyyy
//yyyy-mm-dd转化为mm/dd/yyyy
var start= new Date(Date.parse(startDate.replace(/-/g, "/")));
- mm/dd/yyyy 格式转化为 yyyy-mm-dd 格式
//根据mm/dd/yyyy 格式获取 yyyy-mm-dd 格式
function queryDate(date2){
var mon=date2.getMonth()+1;
var day=date2.getDate();
if(mon < 10){
mon = "0" + mon;//月份小于10,在前面补充0
}
if(day < 10){
day = "0" + day;//日小于10,在前面补充0
}
return date2.getFullYear() + "-" + mon + "-" +day;
}