2014-11-30 4 views
0

두 개의 날짜 변수가 있습니다. 첫 번째 것은 마지막 금요일까지의 기본값입니다. 이 날짜를 기준으로 한 달 추가하려고합니다. 다음 코드를 시도해도 작동하지 않는 것 같습니다.여기 날짜에 한 달 추가하는 방법?

var StartDate = new Date() 
var DayOfWeek = 5;//friday 

StartDate.setDate(StartDate.getDate() + (dayOfWeek - 7 - StartDate.getDay()) % 7); 

이것은 작동하지 않습니다.

var EndDate = new Date(StartDate) 
EndDate.setDate(EndDate.getMonth() + 7) 

답변

1

이유는이 외설 ' 내가 일하는 당신은 달이 아니라 날짜를 설정해야합니다.

는 것으로 최종 날짜 코드를 변경

:

var EndDate = new Date(StarteDate); 
var x = 1; 

EndDate.setMonth(EndDate.getMonth() + x); 

여기

+0

멋진 대답하여 setMonth http://www.w3schools.com/jsref/jsref_setmonth.asp에 대한 참조입니다! 그런데 왜 neccassary가 0입니까? 없이 일할 것으로 보인다 : http://jsfiddle.net/kd37bnuf/1/, 또는 당신은 무엇을 의미합니까? – baao

+0

그래, 내가 일하는 방식대로 편집 했으니 까. – Avitus

+0

나는 thougt ... +1 당신을 위해! – baao

0

이 작업을 수행하여 한 달을 추가 할 수 있습니다 일반적으로

:

var b = new Date(); 

var a = new Date(new Date().setMonth(b.getMonth()+1)); //<< this line 

alert(a); 

귀하의 코드 :

var StartDate = new Date(); 
var dayOfWeek = 5; 
StartDate.setDate(StartDate.getDate() + (dayOfWeek + 7 - StartDate.getDay()) % 7); 
var EndDate = new Date(StartDate) 
EndDate.setMonth(EndDate.getMonth() + 1); 
alert(EndDate); //remove... 

JS Fiddle DEMO with your code

관련 문제