其中,date参数是要进行加减的日期,days参数是要加减的天数,如果往前算就传入负数,往后算就传入正数,如果是要进行月份的加减,就调用setMonth()和getMonth()就可以了,需要注意的是返回的月份是从0开始计算的,也就是说返回的月份要比实际月份少一个月,因此要相应的加上1

转自:http://shanfengyeshui.iteye.com/blog/838033

2、js获取当前时间及其他操作

//获取当前时间
var myDate = new Date();
var currentDate = transferDate(myDate);
$("#actualEndDate").datebox('setValue', currentDate);

//换成datebox需要显示的格式
function transferDate(date) {
    var d = new Date(date);
    var m = d.getMonth() + 1;
    return d.getFullYear() + '-' + m + '-' + d.getDate();
}
//获取当前的年、月
var date = new Date;
var currentYear = date.getFullYear();
var currentMonth = date.getMonth() + 1;
$("#planYear").val(currentYear);
$("#planMonth").val(currentMonth);
var myDate = new Date();

myDate.getYear();        //获取当前年份(2位)
myDate.getFullYear();    //获取完整的年份(4位,1970-????)
myDate.getMonth();       //获取当前月份(0-11,0代表1月)
myDate.getDate();        //获取当前日(1-31)
myDate.getDay();         //获取当前星期X(0-6,0代表星期天)
myDate.getTime();        //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours();       //获取当前小时数(0-23)
myDate.getMinutes();     //获取当前分钟数(0-59)
myDate.getSeconds();     //获取当前秒数(0-59)
myDate.getMilliseconds();    //获取当前毫秒数(0-999)
myDate.toLocaleDateString();     //获取当前日期
var mytime=myDate.toLocaleTimeString();     //获取当前时间
myDate.toLocaleString( );        //获取日期与时间

日期时间脚本库方法列表

Date.prototype.isLeapYear 判断闰年
Date.prototype.Format 日期格式化
Date.prototype.DateAdd 日期计算
Date.prototype.DateDiff 比较日期差
Date.prototype.toString 日期转字符串
Date.prototype.toArray 日期分割为数组
Date.prototype.DatePart 取日期的部分信息
Date.prototype.MaxDayOfDate 取日期所在月的最大天数
Date.prototype.WeekNumOfYear 判断日期所在年的第几周
StringToDate 字符串转日期型
IsValidDate 验证日期有效性
CheckDateTime 完整日期时间检查
daysBetween 日期天数差

======================转自 http://www.cnblogs.com/carekee/articles/1678041.html

贴上来的都是自己当时做项目时找的资料,以及确实用到并起作用的一些方法,总结一下,加深一下自己的印象,以后遇到这些问题就easy啦

http://www.365mini.com/page/javascript-date-getfullyear.htm

此网页的一些内容介绍了JavaScript的一些核心对象,类似于API吧

3、js判断结束时间不能小于开始时间


    $('#endDate').datebox({
        required: true,
        onChange: function (date) {
            checkDateOK();
        }
    });
})


//验证:1结束时间>=开始时间
function checkDateOK() {
    //结束时间>=开始时间
    var startTime = $('#startDate').datebox('getValue');
    var str = startTime.split("-");
    var a = new Date(str[0], str[1], str[2]);

    var endTime = $('#endDate').datebox('getValue');
    var str1 = endTime.split("-");
    var b = new Date(str1[0], str1[1], str1[2]);
    if (startTime != '' && endTime != '' && (getNewDate(a) - getNewDate(b) > 0)) {
        alert('结束时间不能小于开始时间');
        //$("#endDate").datebox('setValue', "");
        return false;
    }
}
//date转换
function getNewDate(date) {
    var y = date.getFullYear();
    var m = date.getMonth() + 1;
    var d = date.getDate();
    var str = y + '-' + (m < 10 ? ('0' + m) : m) + '-' + (d < 10 ? ('0' + d) : d);
    var dates = str.split("-");
    var dateReturn = '';
    for (var i = 0; i < dates.length; i++) {
        dateReturn += dates[i];
    }
    return dateReturn;
}
datebox选择结束时间时,自动判断结束时间不能小于开始时间,否则提示错误,因为弹框影响用户体验,想直接把结束时间置为空,用$("#endDate").datebox('setValue',"")没成功,或许应该试试$("#endDate").datebox('clear').......