JS当前日期相加相减

function DateAddORSub(interval,type,number)
{
/*
 * 功能:实现Script的Date加减功能.
 * 参数:interval,字符串表达式,表示要添加的时间间隔.
 * 参数:number,数值表达式,表示要添加的时间间隔的个数.
 * 参数:type,加减类型.
 * 返回:新的时间对象.
 * var newDate =DateAddORSub("d","+",5);
 */
  var date = new Date();
    switch(interval)
    {
        case "y" : {
            if(type=="+"){
             date.setFullYear(date.getFullYear()+number);
            }else{
             date.setFullYear(date.getFullYear()-number);
            }
            return date;
            break;
        }
        case "q" : {
            if(type=="+"){
            date.setMonth(date.getMonth()+number*3);
            }else{
             date.setMonth(date.getMonth()-number*3);
            }
            return date;
            break;
        }
        case "m" : {
            if(type=="+"){
             date.setMonth(date.getMonth()+number);
            }else{
             date.setMonth(date.getMonth()-number);
            }
            return date;
            break;
        }
        case "w" : {
            if(type=="+"){
            date.setDate(date.getDate()+number*7);
            }else{
            date.setDate(date.getDate()-number*7);
            }
            return date;
            break;
        }
        case "d" : {
            if(type=="+"){
             date.setDate(date.getDate()+number);
            }else{
              date.setDate(date.getDate()-number);
            }
            return date;
            break;
        }
        case "h" : {
             if(type=="+"){
            date.setHours(date.getHours()+number);
            }else{
             date.setHours(date.getHours()-number);
            }
            return date;
            break;
        }
        case "m" : {
            if(type=="+"){
            date.setMinutes(date.getMinutes()+number);
            }else{
            date.setMinutes(date.getMinutes()-number);
            }
            return date;
            break;
        }
        case "s" : {
             if(type=="+"){
            date.setSeconds(date.getSeconds()+number);
            }else{
             date.setSeconds(date.getSeconds()-number);
            }
            return date;
            break;
        }
        default : {
             if(type=="+"){
             date.setDate(d.getDate()+number);
            }else{
             date.setDate(d.getDate()-number);
            }
            return date;
            break;
        }
    }
}

function formatDate(date){;
   var year = date.getFullYear();       //
   var month = date.getMonth() + 1;     //
   var day = date.getDate();            //
   return year+"-"+month+"-"+day;
 }
  
//当前时间加五天.  
var newDate = DateAddORSub("d","+",5);  
alert(newDate.toLocaleDateString());  
//当前时间减五天.  
newDate = DateAddORSub("d","-",5);  
alert(formatDate(newDate));  
//当前时间加两个月.  
newDate = DateAddORSub("m","+",2);  
alert(newDate.toLocaleDateString());  
//当前时间减两个月.  
newDate = DateAddORSub("m","-",2);  
alert(formatDate(newDate));  
//当前时间加一年  
newDate = DateAddORSub("y","+",1);  
alert(newDate.toLocaleDateString());  
//当前时间减一年  
newDate = DateAddORSub("y","-",1);  
alert(formatDate(newDate)); 

 

转载于:https://my.oschina.net/u/3147332/blog/807115

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值