javascript的Date对象是一个对时间处理的函数,在实际操作中老是用错,或者直接不会用。这里就将最近遇到的几个记录一下。毫秒从1970-1-1开始的。
四种方法创建Date对象:
1.var myDate = new Date():返回当前的时间
![](https://img.haomeiwen.com/i4033560/e7b0fa9c38c81e30.png)
2.var myDate = new Date(milliseconds):输入毫秒数,返回该毫秒数对应的时间
![](https://img.haomeiwen.com/i4033560/b85cb36e0e8f185f.png)
3.var myDate = new Date(datestring):给出一个时间的string
![](https://img.haomeiwen.com/i4033560/925f2ed98a75e002.png)
4.var myDate = new Date(year,month,day,hours,minutes,seconds,milliseconds):根据输入的时间,导出对应的时间
![](https://img.haomeiwen.com/i4033560/bbeccee315bfe82c.png)
这样做感觉没有什么意义是吧,那么我们就试试获取他的当前时间的毫秒数:使用.valueOf()
![](https://img.haomeiwen.com/i4033560/c2d78c6acf4ed07f.png)
很显然这个还是可以的。
这个时候我们再返回去看看148533840000对应的时间是多少。
![](https://img.haomeiwen.com/i4033560/27f451adbccb8fe8.png)
细心的你肯定会发现:148533840000对应的时间变成了2017年的一月份!!!但是我们当时输入的时间是2016年的12月份!!!这是为什么呢???因为设置时间的时候月份要减一(这里敲黑板)也就是说如果获取2016年的12月25号18点的时间就应该写成new Date(2016,11,25,18,00,00)这里还是要敲黑板!!!
另外如果想要设置的时间是2016-1-25这天的话既可以写成:new Date(2016,0,25);也可以写成new Date(2015,12,25)都是可以的
注:其实今天要讲的重点就是上面这个了。想要获取指定时间(年月日时分秒)的时候,给的月份要减1,希望以后在使用的时候能注意到了
另外注意这个情况只针对第四种情况,如果传入的值是 datestring的格式(‘2016-12-25 18:00:00’)的话就不会出现上面所说的这种情况哦!所以推荐第三种方法
网友评论