js如何获取选中时间并减去一个月

JavaScript014

js如何获取选中时间并减去一个月,第1张

var date = new Date()

var nowD = date.getFullYear() + "." + (date.getMonth() + 1) + "." +date.getDate()

date.setMonth(date.getMonth() - s)

var month = date.getMonth()

month = ((month==0)?(12):(month))

var befD = date.getFullYear() + "." + (date.getMonth() + 1) + "." +date.getDate()

开始查了查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。

我给你举个例子吧!就拿当前时间来说,下面是代码

var now = new Date()

tomo = new Date((now/1000-86400*10)*1000)//先减去10天

var year = tomo.getYear()

var month = tomo.getMonth()//再减去一个月,当前月应该是tomo.getMonth()+1

var date = tomo.getDate()

month = (month<10)?"0"+month:month

date = (date<10)?"0"+date:date

var time = year+"/"+month+"/"+date//最终得到的时间