[date] typescript에서 두 날짜 사이의 시간을 계산하는 방법

이것은 자바 스크립트에서 작동합니다

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 - 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()


답변

+연산자 를 넣어야하는 차이를 계산하려면

그렇게 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) );


답변