두 특정 날짜/시간 간의 시차를 확인하는 것은 많은 애플리케이션에서 일반적인 요구 사항입니다. 이 문서에서는 moment.js를 사용하여 정확한 시간 간격을 얻고 잠재적인 문제를 해결하며 대체 접근 방식을 제공하는 포괄적인 가이드를 제공합니다.
문자열로 표현된 두 개의 날짜/시간이 주어지면 목표는 다음과 같습니다. 시차를 계산하여 HH:MM:SS 형식으로 표시합니다. 예를 들어:
var now = "04/09/2013 15:00:00"; var then = "04/09/2013 14:20:30"; //expected result: "00:39:30"
moment.js의 diff 기능을 사용하여 다음을 시도해 볼 수 있습니다.
var now = moment("04/09/2013 15:00:00"); var then = moment("04/09/2013 14:20:30"); console.log(moment(moment.duration(now.diff(then))).format("hh:mm:ss")) //outputs 10:39:30
그러나 이 접근 방식은 잘못 추가됩니다. 내부 기간 값이 정확함에도 불구하고 10시간입니다.
이 문제를 해결하려면 다음 두 가지 옵션이 있습니다.
옵션 1(용 24시간 미만):
moment.utc(moment(now,"DD/MM/YYYY HH:mm:ss").diff(moment(then,"DD/MM/YYYY HH:mm:ss"))).format("HH:mm:ss")
이 접근 방식은 시차를 UTC로 변환하여 일광 절약 시간 불일치를 제거합니다.
옵션 2(24시간 미만) 24시간 이상):
var ms = moment(now,"DD/MM/YYYY HH:mm:ss").diff(moment(then,"DD/MM/YYYY HH:mm:ss")); var d = moment.duration(ms); var s = Math.floor(d.asHours()) + moment.utc(ms).format(":mm:ss");
이 접근 방식은 시간 차이를 밀리초 단위로 계산하여 기간 개체로 변환한 후 시, 분, 초를 별도로 추출합니다.
기간 개체 서식 지정을 위한 편리한 솔루션을 원하는 경우 moment-duration-format이라는 타사 플러그인을 사용할 수 있습니다.
var s = d.format("hh:mm:ss");
위 내용은 moment.js를 사용하여 두 날짜/시간 간의 시차를 정확하게 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!