Jquery - 一年中所有日子的数组

时间:2013-10-18 07:26:50

标签: jquery date plugins

我正在寻找一种简单的方法来获取给定年份中所有日期的字符串数组。类似的东西:

function getDates( year ) {

    // algorithm...

    return dates;

}

返回如下数组:

    getDates( 2013 ) = {"01/01/2013", "01/02/2013", ... , "12/31/2013"} 

有闰年等等,所以我宁愿不通过自己编码来重新创建轮子,所以:
问题:有没有可以实现此目的的JavaScript插件?

我知道Jquery Datepicker,但在阅读完文档之后,我觉得它不会起作用。

2 个答案:

答案 0 :(得分:3)

可以像

一样简单
var date = new Date(2013, 0, 1);
var end =  new Date(date);
end.setFullYear(end.getFullYear() + 1);
var array = [];
while(date < end){
    array.push(date);
    date.setDate(date.getDate() + 1)
}

答案 1 :(得分:1)

Date.prototype.getDaysInMonth = function(month){
    var date = new Date(this.getFullYear(), month, 1);
    var days = [];
    while (date.getMonth() === month) {
        days.push(new Date(date));
        date.setDate(date.getDate() + 1);
    }
    return days;
};


function getDays(date){

    var result = [];

    for(var i = 0; i < 12; i++){
        var r = date.getDaysInMonth(i);

        $.each(r, function(k, v){
            var formatted = v.getDate() + 
               '/' + (v.getMonth() +1) + '/' + v.getFullYear();
            result.push(formatted);
        });
    }

    return result;
}

console.log(getDays(new Date()));

结果:

["1/1/2013", "2/1/2013", "3/1/2013", "4/1/2013"..."]

http://jsfiddle.net/nkMLM/3/