Date.prototype.Format = function(fmt)
{
    //author: meizz
    var o =
     {
        "M+" : this.getMonth() + 1, //月份，0-11
		"w+" : this.getDay() + 1,	//周几，0-6
        "d+" : this.getDate(), //日，1-31
        "h+" : this.getHours(), //小时，0-23
        "m+" : this.getMinutes(), //分
        "s+" : this.getSeconds(), //秒
        "q+" : Math.floor((this.getMonth() + 3) / 3), //季度
        "S" : this.getMilliseconds() //毫秒
     };
    if (/(y+)/.test(fmt))
         fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt))
             fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}

Date.prototype.daysDiff=function(d)
{
	return parseInt((Date.parse(this)-Date.parse(d))/86400000);
}

Date.prototype.addMinutes = function(m)
{
    this.setMinutes(this.getMinutes() + m, this.getSeconds(), 0);
	return this;
};

Date.prototype.addDays = function(d)
{
    this.setDate(this.getDate() + d);
	return this;
};


Date.prototype.addWeeks = function(w)
{
    this.addDays(w * 7);
	return this;
};


Date.prototype.addMonths= function(m)
{
    var d = this.getDate();
    this.setMonth(this.getMonth() + m);

    if (this.getDate() < d)
        this.setDate(0);
	return this;
};


Date.prototype.addYears = function(y)
{
    var m = this.getMonth();
    this.setFullYear(this.getFullYear() + y);

    if (m < this.getMonth())
     {
        this.setDate(0);
     }
	return this;
};