2010-05-26 3 views
2

주어진 월의 모든 요일을 반환하는 메서드를 찾고 있습니다. date() functions 표준에서 도움이되는 것이 없습니다.JS/Prototype에서 월 일 수

즉 : 달 수도 (토요일, 01)과 마지막의 첫 날의

getDays(2010-05) // returns something like: 

{ day:'Saturday', date:'2010-01-05' }, 
{ day:'Sunday', date:'2010-02-05' }, 
{ day:'Monday', date:'2010-03-05' }[...] 

그냥 일 (월요일, 31)도 좋은 것입니다.

답변

3

매우 쉽게이를 수행 할 수 있습니다. 자바 스크립트 "날짜"개체가이 같은 것들에 큰 도움이됩니다 :

function listDays(monthNumber) { 
    var days = [], 
    today = new Date(), 
    d = new Date(today.getFullYear(), monthNumber, 1); 

    while (d.getMonth() == monthNumber) { 
    days.push({ "date": d.getDate(), "weekday": d.getDay()}); 
    d.setDate(d.getDate() + 1); 
    } 
    return days; 
} 

은 수치 그 달의 날짜를 반환하지만, 요일 이름의 배열로 확장하기 쉬운 것 :

function listDays(monthNumber) { 
    var days = [], 
    today = new Date(), 
    d = new Date(today.getFullYear(), monthNumber, 1), 
    weekdays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; 

    while (d.getMonth() == monthNumber) { 
    days.push({ "date": d.getDate(), "weekday": weekdays[d.getDay()]}); 
    d.setDate(d.getDate() + 1); 
    } 
    return days; 
} 
+0

굉장! 고마워요 :) – koko

+0

달은 0에서 11까지, 1에서 12까지는 매겨지지 않습니다! – Pointy

+0

네, 이미 알아 냈습니다. – koko

관련 문제