>웹 프론트엔드 >JS 튜토리얼 >내 Javascript 날짜 개체가 잘못된 날짜를 반환하는 이유는 무엇입니까?

내 Javascript 날짜 개체가 잘못된 날짜를 반환하는 이유는 무엇입니까?

DDD
DDD원래의
2024-12-06 08:17:11291검색

Why Does My Javascript Date Object Return an Incorrect Date?

Javascript 날짜 객체가 날짜와 불일치를 유발합니까?

Javascript 애플리케이션에서 저장된 날짜는 특정 형식을 따릅니다. , "2011-09-24." 이 값을 사용하여 새 Date 객체를 생성하려고 할 때 반환된 날짜가 항상 하루씩 쉬는 문제가 발생했습니다.

Date 객체 동작 이해

이러한 불일치를 조사하려면 JS Date 객체가 문자열 입력을 해석하는 방식을 이해하는 것이 중요합니다. Date 객체는 다양한 날짜 문자열 형식을 변환할 때 특정한 예외를 나타냅니다. 몇 가지 예를 살펴보겠습니다.

Date 개체의 구문 분석 논리 이해

"2011-09-24" 문자열을 사용하여 Date 개체를 생성하면 Date 객체는 이를 2011년 9월 23일 17:00:00을 나타내는 타임스탬프로 해석합니다. GMT-0400(동부 일광 절약 시간). 결과적으로 반환된 날짜는 예상 결과에서 하루 차이가 납니다.

그러나 문자열 형식을 "09-24-2011"(월-일-연으로 전환)로 변경하면 Date 개체가 올바르게 표시됩니다. 2011년 9월 24일을 해석하여 반환합니다.

다른 날짜에 대한 고려 형식

또 다른 흥미로운 점은 날짜 문자열에서 하이픈(-)과 슬래시(/) 사용의 차이입니다. 구분 기호를 슬래시로 변경하면 "2011/09/24" 예에서 볼 수 있듯이 정확한 날짜 구문 분석이 가능합니다.

복잡한 날짜 문자열 처리

의 경우 시간이나 시간대 같은 추가 정보가 포함된 날짜 문자열에는 약간 다른 구문 분석 규칙이 적용됩니다. 예를 들어, "2011-09-24T00:00:00"은 여전히 ​​잘못된 날짜를 생성하지만 하이픈을 슬래시로 바꾸고 시간 부분을 제거하면 원하는 결과를 얻을 수 있습니다.

대체 날짜 구성 방법

특정 날짜 문자열 형식을 구문 분석하는 데 문제가 발생하면 다음을 수행할 수도 있습니다. Date 생성자에 대해 별도의 매개변수 접근 방식을 활용합니다. 이 방법을 사용하면 제공된 예에서 볼 수 있듯이 연도, 월, 일, 시간 및 시간대에 대한 인수를 제공할 수 있습니다.

명확하게 설명하자면 제시된 예는 사용자에 따라 다른 동작을 보일 수 있다는 점에 유의할 가치가 있습니다. 현재 시간대와 시간.

위 내용은 내 Javascript 날짜 개체가 잘못된 날짜를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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