Jquery计算指定⽇期加上多少天、加多少⽉、加多少年的⽇期/*
*  功能:实现VBScript的DateAdd功能.
*  参数:interval,字符串表达式,表⽰要添加的时间间隔.
*  参数:number,数值表达式,表⽰要添加的时间间隔的个数.
*  参数:date,时间对象.
*  返回:新的时间对象.
*  var now = new Date();
*  var newDate = DateAdd( "d", 5, now);
*---------------  DateAdd(interval,number,date)  -----------------
*/
function DateAdd(interval, number, date) {
switch (interval) {
case "y ": {
date.FullYear() + number);
return date;
break;
}
case "q ": {
date.Month() + number * 3);
return date;
break;
}
case "m ": {
date.Month() + number);
return date;
break;
}
case "w ": {
date.Date() + number * 7);
return date;
break;
}
case "d ": {
date.Date() + number);
return date;
break;
}
case "h ": {
date.Hours() + number);
return date;
break;
}
case "m ": {
date.Minutes() + number);
return date;
break;
}
case "s ": {
date.Seconds() + number);
return date;
break;
}
default: {
date.Date() + number);
return date;
break;
}
}
}
var now = new Date();
// 加五天.
var newDate = DateAdd("d ", 5, now);
LocaleDateString())
// 加两个⽉.
newDate = DateAdd("m ", 2, now);
LocaleDateString())
/
/ 加⼀年
newDate = DateAdd("y ", 1, now);
LocaleDateString())
js⽇期、⽉份:⽇期加⼀天等
// ⽇期,在原有⽇期基础上,增加days天数,默认增加1天
function addDate(date, days) {
if (days == undefined || days == '') {
days = 1;
}
var date = new Date(date);
date.Date() + days);
var month = Month() + 1;
var day = Date();
FullYear() + '-' + getFormatDate(month) + '-' + getFormatDate(day);
}
// ⽇期⽉份/天的显⽰,如果是1位数,则在前⾯加上'0'
function getFormatDate(arg) {
if (arg == undefined || arg == '') {
return '';
}
var re = arg + '';
if (re.length < 2) {
re = '0' + re;
}
return re;
}
参考:
如题,开始查了查js的使⽤⽂档,但没发现可以直接⽤的函数,于是就想⾃⼰写函数来着,这就要涉及到每个⽉天数的判断,如果是2⽉份的话,还要涉及到闰年的判断,虽然不复杂但我想js应该不会这么低级,于是查了下资料,终于有了如下重⼤发现,以在某个⽇期上加减天数来说,其实只要调⽤Date对象的setDate()函数就可以了,具体⽅法如下:
function addDate(date,days){
var d=new Date(date);
js当前日期加一天d.Date()+days);
var Month()+1;
FullYear()+'-'+m+'-'+d.getDate();
}
其中,date参数是要进⾏加减的⽇期,days参数是要加减的天数,如果往前算就传⼊负数,往后算就传⼊正数,如果是要进⾏⽉份的加减,就调⽤setMonth()和getMonth()就可以了,需要注意的是返回的⽉份是从0开始计算的,也就是说返回的⽉份要⽐实际⽉份少⼀个⽉,因此要相应的加上1。