문자열에서 날짜를 가져와 구문 분석하여 날짜, 월 및 연도 구성 요소를 가져 와서 Date 객체를 인스턴스로 사용합니다.잘못된 날짜를 반환하는 JavaScript setDate
내가 달성하고자하는 것은 하루로 날짜를 증가시키는 것입니다. setDate 메서드가 잘못된 날짜를 반환하는 경우를 제외하고는 모두 잘 작동합니다 ...
예를 들어, 2011 년 2 월 28 일에 1 일을 추가하면 2011 년 2 월 29 일 ... 날짜가 반환됩니다. 실제로 존재하지 않습니다.
JavaScript의 기본 날짜/시간 API의 버그/제한 사항입니까? 아니면 잘못된 것입니까? 나는 날짜의 유효성을 확인하지 않고 그런 식으로 행동한다고 믿기가 어렵다.
var myDate = new Date(2011, 2, 28);
alert(myDate);
myDate.setDate(myDate.getDate() + 1);
alert(myDate); // 29 February 2011 !
감사합니다.
, 덕분에 많이 시도이다. 나는 .NET 배경에서오고 DateTime 객체는 거기에서 그런 식으로 행동하지 않는다. 나는 틀린 일을하고 있다고 의심했다 ... 나는이 행동을 매우 직관적이라고 생각할 수 없다. 비록 대부분의 것들 in 프로그래밍은 0 기반입니다. –
년과 날 부분이 0 기반으로 보이지 않는 것이 더 직관적이 아닙니다. –
@Kharlos - 주 숫자도 0 기준입니다 - 0 = 일요일 - 그 중 하나 - 자세한 정보는 다음과 같습니다 : [이유 자바 캘린더의 1 월 월 0?] (http://stackoverflow.com/questions/344380/why-is-january-month-0-in-java-calendar) – mplungjan