찾다

 >  Q&A  >  본문

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

목표: 찾아 本地时间UTC时间偏移 다음과 같은 형식으로 URL을 구성합니다.

예제 URL: /Actions/Sleep?duration=2002-10-10T12:00:00−05:00

이 형식은 W3C 권장 사항을 기반으로 합니다. 문서에 따르면:

예: 2002-10-10T12:00:00−05:00(2002년 10월 10일 정오, 중앙 일광 절약 시간 및 동부 표준시) 2002-10-10T17:00:00Z와 동일하며 이는 2002-10-10T12:00:00Z보다 5시간 늦습니다.

그래서 제가 이해한 바에 따르면 new Date() 查找本地时间,然后使用 getTimezoneOffset() 함수를 통해 차이를 계산한 다음 문자열 끝에 추가해야 합니다.

  1. 현지 시간을 확인하려면 format를 사용하세요

    으아아아
  2. UTC 시간 오프셋 가져오기

    으아아아
  3. URL 구성(시간 부분만)

    으아아아

위 출력은 내 현지 시간이 2013년 7월 2일 오전 9시이며 이는 UTC와 7시간 다르다는 것을 의미합니다(UTC는 현지 시간보다 7시간 빠릅니다)

지금까지는 작동하는 것 같지만 getTimezoneOffset()가 음수 값(예: -120)을 반환하면 어떻게 되나요?

W3C 문서에서는 알 수 없기 때문에 이 경우 형식이 어떻게 되어야 하는지 궁금합니다.

P粉054616867P粉054616867241일 전745

모든 응답(2)나는 대답할 것이다

  • P粉842215006

    P粉8422150062024-03-26 13:16:45

    getTimezoneOffset() 참조하는 사양에서 요구하는 형식으로 반대 기호를 반환합니다.

    이 형식은 ISO8601, 더 정확하게는 RFC3339이라고도 합니다.

    이 형식에서 UTC는 Z로 표시되고 다른 모든 형식은 UTC의 오프셋으로 표시됩니다. 자바스크립트와 의미는 동일하지만 뺄셈 순서가 반대이므로 결과의 부호가 반대가 됩니다.

    또한 네이티브 Date 对象上没有名为 format 메서드이므로 이 목적으로 라이브러리를 사용하지 않으면 #1의 함수는 실패합니다. 이 문서를 참고하세요.

    이 형식을 직접 사용할 수 있는 라이브러리를 찾고 있다면 moment.js를 사용해 보시기 바랍니다. 실제로 이는 기본 형식이므로 간단히 다음을 수행할 수 있습니다.

    으아아아

    이것은 잘 테스트된 크로스 브라우저 솔루션이며 다른 많은 유용한 기능이 함께 제공됩니다.

    회신하다
    0
  • P粉545956597

    P粉5459565972024-03-26 12:26:52

    이것은 JS 날짜 형식을 자동으로 지정하는 간단한 도우미 함수입니다.

    으아아아

    회신하다
    0
  • 취소회신하다