이것은 자바 스크립트에서 작동합니다
new Date()-new Date("2013-02-20T12:01:04.753Z")
그러나 typescript에서 나는 두 개의 새로운 날짜를 쉴 수 없다
Date("2013-02-20T12:01:04.753Z")
매개 변수가 날짜 서명과 일치하지 않아 작동하지 않습니다
답변
이 getTime
방법 을 사용하여 1970-01-01 이후 총 밀리 초 단위로 시간을 가져 와서 빼십시오.
var time = new Date().getTime() - new Date("2013-02-20T12:01:04.753Z").getTime();
답변
이것이 typescript에서 수행되는 방법입니다.
(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
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"));
또는 아래의 Siddharth Singh의 답변을 참조하십시오. valueOf()
답변
+
연산자 를 넣어야하는 차이를 계산하려면
그렇게 typescript
하면 날짜가 숫자로 변환됩니다.
+new Date()- +new Date("2013-02-20T12:01:04.753Z")
거기에서 차이를 minutes
또는 로 변환하는 수식을 만들 수 있습니다 hours
.
답변
// TypeScript
const today = new Date();
const firstDayOfYear = new Date(today.getFullYear(), 0, 1);
// Explicitly convert Date to Number
const pastDaysOfYear = ( Number(today) - Number(firstDayOfYear) );