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个小时;
因为 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, "/"))))