共有如下几种情况:
1、开始日期小于结束日期
2、两个日期相等,天数为0,之间没有日期
3、开始日期小于结束日期,天数为0,之间没有日期
<b>PS</b>:唯一的坑就是new Date()月份的参数介于 0 到 11 之间。也就是说,如果希望把月设置为 8 月,则参数应该是 7。
getTime() :返回从 1970 年 1 月 1 日至今的毫秒数。
getDate():返回日期,一个月中的某一天
setDate():设置日期,一个月中的某一天
js中没有如同C#中的AddDays的方法,所以重写了Date对象的prototype,扩展了增加日期的方法,
代码如下:
Date.prototype.Format = function(fmt)
{
//author:
meizz
var o
=
{
"M+" : this.getMonth() + 1, //月份
"d+" : this.getDate(), //日
"h+" : this.getHours(), //小时
"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.addDays = function(d)
{
this.setDate(this.getDate() + d)
}
Date.prototype.addWeeks = function(w)
{
this.addDays(w * 7)
}
Date.prototype.addMonths= function(m)
{
var d =
this.getDate()
this.setMonth(this.getMonth() + m)
if
(this.getDate() <d)
this.setDate(0)
}
Date.prototype.addYears = function(y)
{
var m =
this.getMonth()
this.setFullYear(this.getFullYear() + y)
if (m
<this.getMonth())
{
this.setDate(0)
}
}
var now = new Date()
now.addDays(1)//加减日期操作
alert(now.Format("yyyy-MM-dd"))