2010-01-08 2 views
1

주어진 날짜가 첫 달, 두 번째, 세째, 네 번째 또는 마지막 월요일인지, 화요일인지, 수요일인지, 일요일인지 ... 일요일인지 확인하고 싶습니다.Javascript를 사용하여 요일 계산 (날짜 함수 사용)을 확인/계산하는 방법은 무엇입니까?

기능은 다음과 같아야합니다 : 달의 날이

다음 getDay()는이 두 가지를 사용하여 주

의 날을 얻기 위해 얻을

if(checkdate(date, "second", "monday")) 
{ 
    alert("This is the second monday of the month"); 
} 
else 
{ 
    alert("This is NOT the second monday of the month"); 
} 
+0

'날짜'는 어떤 형식입니까? –

답변

6

주어진 날짜의 요일과주의 숫자를 알려주는 객체를 반환하는 함수를 작성하고 싶습니다. 뭔가 같이 : 그것은 두 번째 월요일이든의 경우

function infoDate(date) { 
return { 
    day: date.getDay()+1, 
    week: (date.getDate()-1)%7+1 
} 
} 

그럼 난 반환 된 객체를 읽고 찾을 수 있습니다 :

물론
var info = infoDate(date); 
if(info.day==1 && info.week==2) { 
    // second monday 
} 

, 당신은 아직도 정확히 않는 다른 지역화 된 함수를 작성 할 수 있습니다 숫자와 날 이름의 배열을 기반으로 요청하십시오.

+0

100 % 작업 코드 .. +1 :-) –

+0

감사합니다! 이런 식으로 훌륭한 작품! – Bundy

1

하루가 얼마 이건간에 몇 주를 지났는지 알기 위해서는 날짜를 7로 나누면됩니다. 나누기 전에 하나를 뺀 다음 추가하면 첫 주를 0에서 1로 설정합니다.

Date.prototype.weekofMonth= function(){ 
return Math.floor((this.getDate()-1)/7)+1; 
} 
alert(new Date().weekofMonth()) 
관련 문제