如何获得本月第一周的数字 - javascript

时间:2014-09-04 09:03:59

标签: javascript date

我在Dropdown列表中填写了所有月份,并且我正在启用当前月份并且将保持几个月将被禁用,例如

var date = new Date();   

var month = new Date().getMonth() + 1;

var weeknum=//getting week number of the month

var options = $('#ddlMonth option');

var values = $.map(options, function (option) {
    return option.value;
});

for (var i = 0; i <= values.length; i++) {
    if (i > month) {
        $("#ddlMonth option[value=" + i + "]").attr('disabled', true);
    }
}
$('#ddlMonth').val(month);

现在我想要禁用月份,如果当前月份的当前周是第一周。

2 个答案:

答案 0 :(得分:0)

function(){
    var d = new Date();
    d.setHours(0,0,0);
    d.setDate(d.getDate()+4-(d.getDay()||7));
    return Math.ceil((((d-new Date(d.getFullYear(),0,1))/8.64e7)+1)/7);
};

这将为您提供一年中的一周,这是简单的数学。 (每月5周可能不那么简单)。

或者您可以从这个小提琴中获取周数函数:http://jsfiddle.net/OlsonDev/5mXF6/1/(适用于5周,经过测试)

答案 1 :(得分:0)

Date.prototype.getMonthWeek = function(){
    var firstDay = new Date(this.getFullYear(), this.getMonth(), 1).getDay();
    return Math.ceil((this.getDate() + firstDay)/7);
}

演示

http://jsfiddle.net/ay10bmpm/

参考

http://www.somethinghitme.com/2010/04/14/how-to-get-the-week-in-a-month-for-a-date-with-javascript/