文章目录
1. Bug
不要这样写new Date('2019-3-5')
,会出bug。这个String格式为YYYY-M-D。
在iOS手机和safari浏览器上,这个格式会报错,改为YYYY-MM-DD,即new Date('2019-03-05')
是可以的,用/也是可以的,即new Date('2019/3/5')
。
下图为Safari的结果:
但是,有一些资料提到用’-'连接的日期字符串在IE上转换会失败,试过之后发现并不会,不确定是不是因为IE版本问题。
建议
(1) 日期字符串用/的格式
不管是YYYY/MM/DD还是YYYY/M/D,都可。
var str = '2019-3-5';
str = str.split('-').join('/'); //或: str.replace(new RegExp(/-/g),'/')
var date = new Date(str);
(2) 使用moment.js日期处理类库
2. Date对象
(1) 构造函数
注意:构造函数返回的都是Date对象。
[1] new Date()
返回本地日期和时间的Date对象
new Date() //=> Thu Mar 07 2019 11:31:45 GMT+0800 (China Standard Time)
[2] new Date(毫秒时间戳)
参数:毫秒时间戳(表示从1970/01/01 00:00:00为起点的毫秒数)。注意,要加上本地所在时区,因为北京是东八区,所以起始时间是1970/01/01 08:00:00
返回:Date对象
new Date(0) //=> Thu Jan 01 1970 08:00:00 GMT+0800 (China Standard Time)