我怎样才能计算打字稿中的两个date之间的时间

这在Javascript中起作用

new Date()-new Date("2013-02-20T12:01:04.753Z") 

但在打字稿中,我不能rest两个新的date

 Date("2013-02-20T12:01:04.753Z") 

不要工作,因为paremater不符合date签名

使用getTime方法获取自1970-01-01以来的总毫秒数,并将其减去:

 var time = new Date().getTime() - new Date("2013-02-20T12:01:04.753Z").getTime(); 

这是如何在打字稿中完成的:

 (new Date()).valueOf() - (new Date("2013-02-20T12:01:04.753Z")).valueOf() 

更好的可读性:

  var eventStartTime = new Date(event.startTime); var eventEndTime = new Date(event.endTime); var duration = eventEndTime.valueOf() - eventStartTime.valueOf(); 

它不工作,因为Date - Date依赖于types强制TypeScript旨在防止的种类。

有一个使用+前缀的解决方法:

var t = Date.now() - +(new Date("2013-02-20T12:01:04.753Z");

或者,如果您不想使用Date.now()

var t = +(new Date()) - +(new Date("2013-02-20T12:01:04.753Z"));

见这里的讨论 。