字符串格式时间不一样

为什么 - 号的字符串格式时间比 / 的多八小时
var aa=new Date("2022/9/15")
var bb=new Date("2022-11-11")  // 比下面的多八小时
var cc=bb-aa
console.log(cc)

var aa=new Date("2022/9/15")
var bb=new Date("2022/11/11")  // 减号换成斜杠相差八小时
var cc=bb-aa
console.log(cc)
请问这是为什么呢?

因为分隔符的不同,new Date(d).getTime() 时得出来的毫秒数不同;两者相差 28,800,000毫秒 ,也就是 8个小时;

img

因为 GMT 标准是以 零时区 0 点来计算的,而且我们看到 我们在 new Date() 出来的时间戳后缀都会加上(中国标准时间),中国标准时间就是北京时间呗,北京在哪?东八区,零时区 0点,在东八区就是 8点。

问题本质,就在于 js 在解析日期字符串时,对于不同的分隔符,使用了不同的 规则。

因为 newDate 会默认处理 /形式的 字符串 。 -形式 会有问题 。
这样会发现 -的 有问题

console.log(new Date("2022/9/15"),new Date("2022-9-15"));
   console.log(new Date("2022/11/11"),new Date("2022-11-11"))

 var strTime="2022-11-11"; //字符串日期格式          
 console.log(new Date(Date.parse(strTime.replace(/-/g,   "/"))))