function addDate(date,days){
var d=new Date(date)
d.setDate(d.getDate()+days)
var m=d.getMonth()+1
return d.getFullYear()+'-'+m+'-'+d.getDate()
}
其中,date参数是要进行加减的日期,days参数是要加减的天数,如果往前算就传入负数,往后算就传入正数,如果是要进行月份的加减,就调用setMonth()和getMonth()就可以了,需要注意的是返回的月份是从0开始计算的,也就是说返回的月份要比实际月份少一个月,因此要相应的加上1。
// 给日期类对象添加日期差方法,返回日期与diff参数日期的时间差,单位为天Date.prototype.diff = function(date){
return (this.getTime() - date.getTime())/(24 * 60 * 60 * 1000)
}
// 构造两个日期,分别是系统时间和2013/04/08 12:43:45
var now = new Date()
var date = new Date('2013/04/08 12:43:45')
// 调用日期差方法,求得参数日期与系统时间相差的天数
var diff = now.diff(date)
// 打印日期差
alert(diff)
var today=new Date()// 获取今天时间today.setDate(today.getDate() + 7)// 系统会自动转换
下面是date类提供的三个你可能生成字符串用到的函数:
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getMonth() 从 Date 对象返回月份 (0 ~ 11)。
getFullYear() 从 Date 对象以四位数字返回年份。