programing

타이프 스크립트에서 두 날짜 사이의 시간을 계산하려면 어떻게 해야 합니까?

batch 2023. 3. 12. 10:36
반응형

타이프 스크립트에서 두 날짜 사이의 시간을 계산하려면 어떻게 해야 합니까?

이것은 Javascript로 동작합니다.

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

하지만 타이프에서는 새로운 데이트 두 개를 쉴 수가 없어

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

paremater가 날짜 서명과 일치하지 않으므로 작업 안 함

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

차분을 계산하기 위해서는 다음 값을 대입해야 합니다.+교환입니다.

그와 같이typescript날짜를 숫자로 변환합니다.

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

여기서부터 차분을 변환하는 공식을 만들 수 있습니다.minutes또는hours.

이게 안 되는 이유는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

const today = new Date();
const firstDayOfYear = new Date(today.getFullYear(), 0, 1);

// Explicitly convert Date to Number
const pastDaysOfYear = ( Number(today) - Number(firstDayOfYear) );

OP는 그 결과 시간을 요구하고 있었습니다.

return new Date(this.submitted.valueOf() - this.created.valueOf())

언급URL : https://stackoverflow.com/questions/14980014/how-can-i-calculate-the-time-between-2-dates-in-typescript

반응형