dd-mm-yyyy 문자열을 날짜로 변환
다음을 사용하여 dd-mm-yyyy 문자열을 유효한 날짜 객체로 구문 분석할 수 없음 JavaScript의 Date 생성자는 주로 생성자가 인식하지 못하는 '-' 기호가 있기 때문에 발생합니다. 이를 극복하려면 대체 접근 방식이 필요합니다.
해결책: "-"로 분할
한 가지 해결 방법은 '-'를 사용하여 문자열을 개별 구성 요소로 분할하는 것입니다. 기호를 구분 기호로 사용한 다음 일, 월, 연도 값을 사용하여 새 Date 객체를 만듭니다.
var from = $("#datepicker").val().split("-") var f = new Date(from[2], from[1] - 1, from[0])
해결책: Regex 사용
정규 표현식도 가능합니다. 개별 날짜 구성 요소를 추출하고 유효한 날짜 문자열을 구성하는 데 사용됩니다.
var date = new Date("15-05-2018".replace( /(\d{2})-(\d{2})-(\d{4})/, "//"))
권장 사항: "-"로 분할
두 접근 방식 모두 유효하지만 "split on -" 방법은 잠재적으로 더 복잡한 정규식 일치에 의존하지 않고 입력 문자열의 알려진 형식을 직접 대상으로 하기 때문에 이 특정 작업에 대해 틀림없이 더 구체적이고 효율적입니다.
재사용성
이 변환이 코드에서 여러 번 수행되는 경우 재사용성과 유지 관리를 위해 이를 함수에 캡슐화하는 것이 좋습니다.
function toDate(dateStr) { var parts = dateStr.split("-") return new Date(parts[2], parts[1] - 1, parts[0]) }
함수 사용:
var f = toDate($("#datepicker").val()) var t = toDate($("#datepickertwo").val())
최신 JavaScript
최신 JavaScript 환경의 경우 배열 구조 분해를 통해 코드를 단순화할 수 있습니다.
const toDate = (dateStr) => { const [day, month, year] = dateStr.split("-") return new Date(year, month - 1, day) }
위 내용은 dd-mm-yyyy 문자열을 JavaScript 날짜 개체로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!