2012-03-15 2 views
0

안녕하세요.이 형식의 날짜는 03/08/12입니다. 03은 월, 08은 요일, 12는 올해입니다. 이제 나는 그 안에 날을 추가하고 싶습니다. 나는 다음과 같은 있지만 정확한 결과를자바 스크립트 특정 날짜 형식으로 요일을 추가하는 방법

checkindate = new Date($("#checkindate").val()); 
    checkindate.setDate(checkindate.getDate()+no_of_nights); 
    $("#checkoutdate").val((checkindate.getMonth()+1)+"/"+checkindate.getDate()+"/"+checkindate.getYear()); 

을 받고 있지만 예상치 않은 결과를주고있다하고 나는 그것을 추가하는 날짜의 어느 부분에서 이해 할 수없는 아니에요 노력했다. 어떤 몸이라도 어떻게 할 수 있습니까?

감사

당신은 지금 당신이 의미 일 값으로 no_of_nights으로 추가되기 때문에 당신이 31 + 5,하여 setDate()가 당신에게 예상되는 결과를 제공하지 않습니다 가질 수있는 모든 상황에서 작동하지 않습니다 것을
+0

잠재 복제본 http://stackoverflow.com/questions/563406/add-days-to-datetime-using-java-script – jbabey

답변

0

값 36.

추가 할 월, 일, 년 등을 파악해야합니다.

자바 스크립트는 1970 년 1 월 1 일부터 정상적인 시간이 아닌 miliseconds에서 작동합니다.

+0

dude no_of_nights는 일 수를 의미하는 변수입니다. 네가 대답하는 걸 몰랐어 설명 할 수 있니? – user1272333

+0

@ user1272333, 변수가 무엇인지 이해하지만 setDate()의 설명서를 읽으면 1-31 값을 사용할 수 있습니다. 따라서 3 월 31 일 현재 날짜를 얻은 다음 변수를 추가하면 (예 : 5 일) 36 일로 끝납니다. 자바 스크립트는 날짜 객체에 올바르게 추가되지 않으므로 예기치 않은 결과가 발생합니다. setDate() 메서드는 사용자가 설정 한 현재 달 내에 Date 객체의 날짜 값을 설정하려는 것으로 가정합니다. 입력 매개 변수로 36을 이해하지 못합니다. – bdparrish

0

코드가 완벽하게 작동하지만 no_of_nights이 아닌지 확인하십시오. 그게 아마도 문제 일 겁니다. 추가 작업 checkindate.getDate()+no_of_nightsno_of_nights이 문자열 일 경우 연결 연산이됩니다.

8 + 5 = 13 
8 + "5" = "85" 

매우 다릅니다!

해결책 : 사용 parseInt(no_of_nights).