JS求教为什么这个date属性保存的时间会自动加一个月?

JavaScript019

JS求教为什么这个date属性保存的时间会自动加一个月?,第1张

JavaScript中月份如果以数字记是0-11而不是1-12,这意味着,月份的参数如果是1就为2月,0就为3月。而如果按照字符串作为参数则以正常的时间表达方式设置Date对象的属性,所以才正常输出。

这个本身并不难,但你要把需求界定好,假如我输入2000-1-31,下一个日期是什么,2000-2-28?2月没有31号,还要考虑闰月的情况。

js里面var myDate = new Date()这样就可以得到当前日期,有很多方法可以使用,先想好要做的是什么样,本身实现没什么难度。

不愿意copy网上随处可见的代码过来,我也没有现成的代码,就这些吧。

二楼的挺好,

dt.setMonth(dt.getMonth() + num)

var d = dt.getDate()

这两行代码把问题解决了。

需要准备的材料分别有:电脑、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天的日期结果。