>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 시간대 오프셋을 사용하여 ISO 8601 타임스탬프를 생성하는 방법은 무엇입니까?

JavaScript에서 시간대 오프셋을 사용하여 ISO 8601 타임스탬프를 생성하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-18 10:45:13146검색

How to Generate ISO 8601 Timestamps with Timezone Offset in JavaScript?

JavaScript에서 시간대 오프셋을 사용하여 ISO 8601 날짜 형식 지정

목표: ISO에서 타임스탬프가 있는 URL 생성 시간대를 포함하는 8601 형식 offset.

접근법:

  1. new Date()를 사용하여 현지 시간을 얻습니다.
  2. getTimezoneOffset(을 사용하여 UTC에서 시간대 오프셋을 계산합니다. ).
  3. 필요한 형식으로 타임스탬프 문자열을 구성합니다. yyyy-MM-ddThh:mm:ss±hh:mm.

구현:

다음 JavaScript 함수는 ISO 8601 타임스탬프를 구성합니다.

function toIsoString(date) {
  var tzo = -date.getTimezoneOffset(),  // Negative offset means UTC is ahead of local time
      dif = tzo >= 0 ? '+' : '-',
      pad = function(num) {
          return (num < 10 ? '0' : '') + num;
      };

  return date.getFullYear() +
      '-' + pad(date.getMonth() + 1) +
      '-' + pad(date.getDate()) +
      'T' + pad(date.getHours()) +
      ':' + pad(date.getMinutes()) +
      ':' + pad(date.getSeconds()) +
      dif + pad(Math.floor(Math.abs(tzo) / 60)) +
      ':' + pad(Math.abs(tzo) % 60);
}

예를 들어 현지 시간이 2013/07/02 오전 9시, 시간대 오프셋은 -7시간입니다(UTC는 7시간 빠릅니다):

var dt = new Date();
console.log(toIsoString(dt));  // Outputs: "2013-07-02T09:00:00-07:00"

또는 - 기호는 현지 시간이 UTC보다 빠른지 아니면 느린지를 나타냅니다.

위 내용은 JavaScript에서 시간대 오프셋을 사용하여 ISO 8601 타임스탬프를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.