186

これはJavascriptで動作します

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

しかし、タイプスクリプトでは、2つの新しい日付を休むことはできません

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

parematerが日付の署名と一致しないため、機能しません

4

5 に答える 5

198

getTimeメソッドを使用して、1970 年 1 月 1 日以降の合計ミリ秒単位の時間を取得し、それらを減算します。

var time = new Date().getTime() - new Date("2013-02-20T12:01:04.753Z").getTime();
于 2013-02-20T12:41:12.577 に答える
147

これは、タイプスクリプトで行う方法です。

(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();
于 2015-08-07T22:48:20.213 に答える
33

Date - DateTypeScriptが防止するように設計されている型強制の種類に正確に依存しているため、機能しません。

+これには、プレフィックスを使用した回避策があります。

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"));

ここでの議論を参照してください

または、以下を使用したよりエレガントなソリューションについては、Siddharth Singh の回答を参照してください。valueOf()

于 2013-02-20T12:42:19.603 に答える