>  기사  >  웹 프론트엔드  >  Safari에서 MM-DD-YYYY 문자열을 날짜 개체로 변환할 때 \"잘못된 날짜\" 오류를 해결하는 방법은 무엇입니까?

Safari에서 MM-DD-YYYY 문자열을 날짜 개체로 변환할 때 \"잘못된 날짜\" 오류를 해결하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-21 17:53:11701검색

How to Resolve

"Safari Date 수수께끼: 잘못된 날짜 문제 및 한 줄짜리 수정"

Safari에서 다음을 사용하여 새 Date 객체를 만들려고 할 때 MM-DD-YYYY 형식의 문자열을 사용하면 사용자에게 "잘못된 날짜" 오류가 발생할 수 있습니다. Chrome 및 Firefox와 같은 다른 브라우저는 이 형식을 쉽게 처리하는 반면 Safari는 문제를 제기합니다.

추가 조사 결과 Safari가 ISO 8601 날짜 형식을 엄격하게 준수하는 것이 문제의 근본 원인이라는 사실이 밝혀졌습니다. 이 형식을 사용하려면 날짜가 YYYY-MM-DD 형식이어야 하며 이는 사용 중인 MM-DD-YYYY 문자열과 호환되지 않습니다.

다른 구분 기호를 사용하여 문자열을 수동으로 구문 분석하여 문제를 해결하려고 시도합니다( 예를 들어 //, -/)는 쓸데없는 것으로 판명되었습니다. Safari는 ISO 8601 형식을 확고히 고수했습니다.

원 라이너 솔루션

외부 라이브러리에 의지하지 않고 빠르고 효과적인 수정을 원하는 사람들을 위해 간단한 한 줄로 Safari의 날짜 구문 분석 제한을 우회할 수 있습니다.

console.log (new Date('2011-04-12'.replace(/-/g, "/")));

이 줄에서는 replacement() 메서드를 사용하여 MM-DD-YYYY 문자열을 Safari가 사용하는 YYYY-MM-DD 형식으로 변환합니다. 인식합니다. 모든 하이픈(-)을 슬래시(/)로 바꾸면 날짜 문자열이 ISO 8601 표준을 준수하게 됩니다.

이 간결한 솔루션을 사용하면 사용자는 호환성을 유지하면서 비표준 형식을 사용하여 새 Date 객체를 생성할 수 있습니다. Safari와 함께.

위 내용은 Safari에서 MM-DD-YYYY 문자열을 날짜 개체로 변환할 때 \"잘못된 날짜\" 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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