JavaScript에서 시간대 오프셋이 있는 ISO 8601 형식 날짜
JavaScript에서 시간대 오프셋이 있는 ISO 8601 형식으로 날짜를 구성하는 것은 다음과 같은 이유로 어려울 수 있습니다. 잠재적인 음수 시간대 오프셋. 이 문서에서는 이 문제를 다루고 해결책을 제공합니다.
형식 이해
ISO 8601 형식은 날짜를 다음과 같이 지정합니다. YYYY-MM-DDThh:mm:ss± 아:mm. 예를 들어, 2002-10-10T12:00:00-05:00은 중부 일광 절약 시간(UTC보다 5시간 늦음)의 2002년 10월 10일 정오를 나타냅니다.
현지 시간 및 UTC 찾기 오프셋
ISO 8601 문자열을 구성하려면 먼저 로컬을 얻어야 합니다. new Date()를 사용하여 시간을 계산하고 getTimezoneOffset()을 사용하여 UTC 오프셋을 계산합니다. 오프셋은 분 단위로 얻어지므로 이를 60으로 나누어 시간 수를 구합니다.
음의 시간대 오프셋 처리
getTimezoneOffset() 함수는 음수를 반환할 수 있습니다. 가치. 이러한 경우 오프셋 형식을 다르게 지정해야 합니다. 예를 들어 -120분의 오프셋은 02:00(UTC보다 2시간 빠름)으로 표시되어야 합니다.
서식 지정을 위한 도우미 함수
프로세스를 단순화하려면 , 도우미 함수인 toIsoString을 사용하여 시간대 오프셋을 사용하여 ISO 8601 형식으로 날짜 형식을 지정할 수 있습니다.
function toIsoString(date) { var tzo = -date.getTimezoneOffset(), // Make the offset positive dif = tzo >= 0 ? ' ' : '-', // Determine the sign pad = function(num) { // Ensure two-digit representation return (num이 함수는 날짜를 인수로 사용하고 시간대 오프셋을 포함하여 ISO 8601 사양에 따라 형식을 지정합니다.
사용 예
다음 코드는 toIsoString 함수를 사용하는 방법을 보여줍니다.
var dt = new Date(); console.log(toIsoString(dt)); // Outputs the date in ISO 8601 format with timezone offset이 접근 방식을 사용하면 ISO 8601 표준에 따라 JavaScript에서 날짜 형식을 쉽게 지정하여 올바른 형식을 준수할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3