Javascript日期添加

Javascript日期添加,javascript,Javascript,我试图对Javascript日期进行计算,结果如下: var date = new Date() undefined date * 2 2815580408292 date - 10000 1407790194146 date / 6 234631700691 date + 10000 'Mon Aug 11 2014 13:50:04 GMT-0700 (PDT)10000' 它一直运行得很好,直到我到达+,它从在毫秒上执行操作转变为连接字符串。我需要+以毫秒为单位执

我试图对Javascript日期进行计算,结果如下:

var date = new Date()
  undefined
date * 2
  2815580408292 
date - 10000
  1407790194146
date / 6 
  234631700691
date + 10000
  'Mon Aug 11 2014 13:50:04 GMT-0700 (PDT)10000'
它一直运行得很好,直到我到达+,它从在毫秒上执行操作转变为连接字符串。我需要+以毫秒为单位执行加法,而不是字符串串联。我正在做这个奇怪的代码生成工作,所以如果不付出非凡的努力和破坏代码库,我就不能做像date.setTime(date.getTime()+10000)这样的事情。是否有某种方法可以破解Javascript,使+添加毫秒而不是串接,或者是否有某种日期库,我可以在其日期对象上使用+并让它进行添加而不是串接?我试过date.js,但它也连接了。

你是说这样

date.getTime()+1000

这是Javascript。你以为这一切都有意义吗?既然你要图书馆,就把这个扔出去吧。可能有你正在寻找的功能。这被标记为重复有点快,所以我会张贴你的问题的答案作为评论。您无法更改
+
行为,其工作方式如下所述:。关键是对象上的
ToPrimitive
基本上会先尝试
toString
,然后尝试
valueOf
。因此,如果你真的想破解
+
的话,唯一的解决办法就是重写
Date.prototype.toString
,但这会对你页面上运行的所有JS代码产生深远的影响!。我的建议是修复代码生成器以输出正确的代码。我应该补充一点,我在上一篇评论中提到的技巧是,您不必从
返回字符串。。。这是有效的:
Date.prototype.toString=function(){返回This.getTime()}
。它“有效”,但也可能会破坏许多假定
toString
返回日期的字符串表示形式的代码…:(那正是我想要的那种黑魔法。谢谢jods,如果是的话,我会接受你的回答。