我有两个变量存储日期,我试图减去它们。我已经打印出值和减法,但我不知道这里出了什么问题。代码var dateRan = new Date().toLocaleString("en-US", {timeZone: "America/New_York"}); console.log( "date1 is "+ new Date(firstDate*1000).toLocaleString("en-US", {timeZone: "America/New_York"}) + " and date2 is "+ dateRan + " and date1 - date2 is "+ Math.abs((new Date(firstDate*1000)-dateRan))); 从日志: date1 is 7/5/2020, 10:44:37 PM and date2 is 7/5/2020, 10:22:30 PM and date1 - date2 is NaN几周前我可以发誓这一切正常——我不确定发生了什么变化。
1 回答
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
dateRan 是一个字符串;具体来说,新的 Date() 通过 toLocaleString() 转换为字符串。
一个 Object 减去一个 String 产生 Nan。
一个对象加上一个字符串产生一个字符串。这会产生奇怪的结果。
var dateOne = new Date().toLocaleString("en-US", {timeZone: "America/New_York"});
var dateTwo = new Date();
console.log(dateOne - dateTwo); // NaN
console.log(dateOne + dateTwo); // 7/5/2020, 10:47:01 PMSun Jul 05 2020 22:47:12 GMT-0400 (Eastern Daylight Time)
console.log(new Date() - new Date()); // 0
console.log(new Date() + new Date()); // Sun Jul 05 2020 22:52:51 GMT-0400 (Eastern Daylight Time)Sun Jul 05 2020 22:52:51 GMT-0400 (Eastern Daylight Time)
添加回答
举报
0/150
提交
取消