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)); 

JS当前日期相加相减的更多相关文章

  1. Jquery datepicker 时间插件使用 js 时间相加,相减

    $(document).ready(function(){ //输入框事件 $('#probation').bind('input propertychange', function() { var ...

  2. js面试题--------JS中数字和字符,布尔类型相加相减问题

    JS中数字和字符相加相减问题 <html lang="en"> <head> <meta charset="utf-8" /> ...

  3. JS两日期相减

    JS两日期相减,主要用到下面两个方法 dateObject.setFullYear(year,month,day) 方法 stringObject.split(separator) 方法 functi ...

  4. 上机题目(中级)- 两个超级大的整数相加相减 (Java)

    代码例如以下: public class AddSub { public static void main(String[] args) { String a="46328648326846 ...

  5. mysql时间日期相加相减实现

    分享篇mysql中日期的一些操作,就是我们常常会用到的mysql时间日期的相加或者相减的了,这个mysql也自己带了函数,有需要的朋友可以参考一下. 最简单的方法 select TO_DAYS(str ...

  6. JS中小数相加相减时出现很长的小数点的解决方式

    1.问题: 平时写的代码中会出现这种情况,parseFloat(11.3-10.1) 运行的结果依然是1.200000000000001 代码示例: var arr = [0.0111,11.002, ...

  7. js浮点数相加、减、乘、除精确计算

    js 浮点数计算时 ,无缘无辜 后边冒出一堆 小数点………… 貌似js本身的问题,类型不定?????? 只能自己写函数处理..  http://blog.csdn.net/w4bobo/article ...

  8. scala 两个map合并,key相同时value相加/相减都可

    scala 两个map合并,key相同时value相加 1.map自带的合并操作 2.map函数 2.1示例 2.2合并两个map 3.用foldLeft 3.1 语法 3.2 合并两个map 1.m ...

  9. js 两数相减

    var SecondPrice = document.getElementById("txtSecondPrice");  //秒杀价            var MarketP ...

随机推荐

  1. JavaScript- The Good Parts function Curry

    Functions are values, and we can manipulate function values in interesting ways.Currying allows us t ...

  2. Ajax核心——XMLHttpRequest基础

    XMLHttpRequest对象负责将用户信息以异步方式发送到服务器,并接受服务器返回的相应信息和数据.也就是可以在页面已经加载后从后从服务器请求.接收数据,这样使得用户的体验度更好,而同时提升了客户 ...

  3. mongodb基础系列——数据库查询数据返回前台JSP(一)

    经过一段时间停顿,终于提笔来重新整理mongodb基础系列博客了. 同时也很抱歉,由于各种原因,没有及时整理出,今天做了一个demo,来演示,mongodb数据库查询的数据在JSP显示问题. 做了一个 ...

  4. 掌握jQuery插件开发

    进行jQuery插件开发前,首先要知道两个问题:什么是jQuery插件?jQuery插件如何使用? 第一个问题,jQuery插件就是用来扩展jQuery原型对象的一个方法,简单来说就是jQuery插件 ...

  5. httpClient实现获取网络信息

    自己实现的抓取网络信息 package util; import java.io.IOException; import java.lang.reflect.Field; import java.ma ...

  6. chrmoe debug

    一.右击,点击审查元素 二.打开后,每个tab是干什么用的呢? 三.调试样式 选中Elemes后,右边有个窗口,这里是CSS的样式,可以直接选中元素,并且在这里修改样式.这样调试很方便,效率也很高.当 ...

  7. Android Fragment 生命周期

    启动的事件触发顺序 F Fragmeent A Activity onAttach(F) onAttachFragment(A) onCreate(F) onCreateView(F) onActiv ...

  8. android104 帧动画,补间动画,属性动画

    ##帧动画FrameAnimation* 多张图片快速切换,形成动画效果* 帧动画使用xml定义 package com.itheima.frameanimation; import android. ...

  9. java24 手写服务器最终版本

    手写服务器最终版本; <?xml version="1.0" encoding="UTF-8"?> <web-app> <serv ...

  10. android夸项目调用

    将工程A做成android library project. 设置工程A,右键->Properties->Android,将Is library项选中,然后Apply.设置工程B,右键-& ...