如何用js进行日期的加减

JavaScript014

如何用js进行日期的加减,第1张

开始查了查js的使用文档,但没发现可以直接用的函数,于是就想自己写函数来着,这就要涉及到每个月天数的判断,如果是2月份的话,还要涉及到闰年的判断,虽然不复杂但我想js应该不会这么低级,于是查了下资料,终于有了如下重大发现,以在某个日期上加减天数来说,其实只要调用Date对象的setDate()函数就可以了,具体方法如下:

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。

转为 DATE()  类型 直接相减  得出毫秒数   除1000  得秒数 除60000 得分钟数

var d1 = new Date('2016/03/28 10:17:22')

var d2 = new Date('2016/03/28 11:17:22')

console.log(parseInt(d2 - d1))//两个时间相差的毫秒数

console.log(parseInt(d2 - d1) / 1000)//两个时间相差的秒数

console.log(parseInt(d2 - d1) / 6000 )//两个时间相差的分钟数

console.log(parseInt(d2 - d1) / 3600000 )//两个时间相差的小时数