2013-10-28 35 views
2

這是我用javscript代碼得到的計算週數。從給定的日期....但我得到的輸出是不正確的沒有。一週給定一年的javascript

var dayNr = (this.getDay() + 6) % 7; 

    target.setDate(target.getDate() - dayNr + 3); 


    var firstThursday = target.valueOf(); 

    target.setMonth(0, 1); 

    if (target.getDay() != 4) { 
    target.setMonth(0, 1 + ((4 - target.getDay()) + 7) % 7); 
    } 

    return 1 + Math.ceil((firstThursday - target)/604800000); 

我想計算一週沒有。從給定日期.....任何其他解決方案也歡迎...需要迫切

+2

[顯示使用Javascript的週數?]的可能重複(http://stackoverflow.com/questions/7765767/show-week-number-with-javascript) –

+0

@WimOmbelets - 您引用的問題顯示2013年12月31日爲第53周。但實際上是第一週。你能解釋一下嗎? – PythonEnthusiast

回答

0
function getWeekNumber(d) { 
    // Copy date so don't modify original 
    var d = new Date(d); 
    d.setHours(0,0,0); 
    // Set to nearest Thursday: current date + 4 - current day number 
    // Make Sunday's day number 7 
    d.setDate(d.getDate() + 4 - (d.getDay()||7)); 
    // Get first day of year 
    var yearStart = new Date(d.getFullYear(),0,1); 
    // Calculate full weeks to nearest Thursday 
    var weekNo = Math.ceil((((d - yearStart)/86400000) + 1)/7) 
    // Return array of year and week number 
    return [d.getFullYear(), weekNo]; 
} 

Refrence Answer

+0

你能告訴什麼是d? –

+0

@ amit_183 d是日期 – Rex

相關問題