js中,当前时间减去过去某一年某个月某日的算法,如何用js表示??

JavaScript010

js中,当前时间减去过去某一年某个月某日的算法,如何用js表示??,第1张

var curtime=new Date()

var endtime=new Date("年,月,日")

var ctime=Math.ceil((curtime.getTime()-endtime.getTime())/(24*60*60*1000))

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

需要准备的材料分别有:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、在index.html中的<script>标签,输入js代码:

var a = '2012-12-11'

var date1 = new Date(a.replace('-', '/'))

var t = date1.getTime() + 30 * 24 * 3600 * 1000

var date2 = new Date(t)

document.body.innerText = date2

3、浏览器运行index.html页面,此时打印出了2012-12-11加上30天的日期结果。