为了账号安全,请及时绑定邮箱和手机立即绑定

JS 日期减法返回 NaN

JS 日期减法返回 NaN

神不在的星期二 2022-11-03 11:00:26
我有两个变量存储日期,我试图减去它们。我已经打印出值和减法,但我不知道这里出了什么问题。代码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)



查看完整回答
反对 回复 2022-11-03
  • 1 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信