"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > JavaScript에서 시간대 오프셋을 사용하여 ISO 8601 형식 날짜를 생성하는 방법은 무엇입니까?

JavaScript에서 시간대 오프셋을 사용하여 ISO 8601 형식 날짜를 생성하는 방법은 무엇입니까?

2024년 12월 23일에 게시됨
검색:996

How to Generate ISO 8601 Format Dates with Timezone Offsets in JavaScript?

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