使用时间对象Date中的一些小问题

1. 众所周知getMonth()获取的月份是需要+1的

var d = new Date() // 实例化一个时间对象

d.getMonth() // 调用时间对象获取当前月份信息,(今天是2020/9/17),故而输出8,则今天是九(8+1)月中的一天

d.getDate() // 获取日期 输出:17


2.但是"2020-09-17" 和 "2020/09/17" 转换成时间戳会存在八小时的差异可能少有人会注意到

// 1. 首先直接转标准国内时间就能看出相差了八个小时
new Date('2020-09-17') // Thu Sep 17 2020 08:00:00 GMT+0800 (中国标准时间)

new Date('2020/09/17') // Thu Sep 17 2020 00:00:00 GMT+0800 (中国标准时间)

// 2.其次可以将它们都转化为时间戳来进行比较,也可以得出这个结论
new Date('2020-09-17').getTime() // 1600300800000

new Date('2020/09/17').getTime() // 1600272000000

// 二者相减的结果恰好为 八个小时
1600300800000 - 1600272000000 = 28800000 = 8 * 60 *60 *1000

3. IOS上使用Date对象转换时间戳的时候是不支持"-"中横线连接的,必须转换成"/"斜杠连接才能成功转换,否则会报错

原文地址:https://www.cnblogs.com/ViavaCos/p/13683247.html