首先,我们知道js中的时间是从1970年1月1日零点开始计算的,它的定义不像其他js对象一样有多种定义方法,他只有一种定义方式,就是new一个构造函数的形式。在日常开发工作当中用的比较常见的是获取当前时间和自定义一个时间对象,获取当前时间毋庸置疑new Date()这个方法是适用于所有浏览器的,但自定义一个时间对象方法则千奇百怪,这里推荐几个能够适用所有浏览器的简单定义方法。
先看看mdn给出的几种定义方式:
var birthday = new Date('December 17, 1995 03:24:00'); //通过整体传入一个'月 日年, 时:分:秒'格式的字符串
var birthday = new Date('1995-12-17T03:24:00');
var birthday = new Date(1995, 11, 17);
var birthday = new Date(1995, 11, 17, 3, 24, 0);
复制代码
-
1、使用一个完整的字符串:new Date('December 17, 1995 03:24:00'),所有浏览器都适用
-
2、是用一个完整字符串:Date('1995-12-17T03:24:00'),IE8及以下不支持,因为识别不了以中划线连接的日期格式
-
3、单值传入new Date(1995, 11, 17)、new Date(1995, 11, 17, 3, 24, 0),适用所有浏览器
-
4、整体传入字符串:new Date('2018/05/24')、new Date('2018/05/24 12:00:00') ,适用所有浏览器
最后推荐:
1、new Date(2018, 04, 24)、new Date(2018, 04, 24, 12, 00, 00)
2、new Date('2018/05/24')、new Date('2018/05/24 12:00:00')
理由:适用所有浏览器,书写方式比较简单,但要注意的是以单个值传入的话月份要减一,以整体字符串形式传入则不需要,也就是说new Date(2018, 04, 24)和new Date('2018/05/24')定义的是同一个日期
刚踏入博客之路,技术有限,希望能和大家一起交流学习