2016-06-15 33 views
0

我只是試圖讓這個函數在腳本編輯器中運行時工作。給出錯誤:找不到函數getYear

Cannot find function getYear in object [object Object]. 

我試了一下getFullYear,但無濟於事。奇怪的是,當我把它放在另一個與它無關的大型函數中時,它似乎完美地工作。它本身就會給出這個錯誤。這裏是代碼:

function WeekNumber() { 

Date.prototype.getWeek = function() { 
    var onejan = new Date(this.getYear(),0,1); 
    return Math.ceil((((this - onejan)/86400000) + onejan.getDay()+1)/7); 
} 

var currentTime = new Date(); 
return new currentTime.getWeek() 
} 
+0

你正在計算一年中的一週的方式不符合ISO 8601參見[*獲得今年的JavaScript的一週像PHP *](http://stackoverflow.com/questions/6117814/一致得到周的年中的JavaScript樣中的PHP/6117889#6117889)。 – RobG

回答

0

使用它這種方式沒有new在返回。

function WeekNumber() { 

    Date.prototype.getWeek = function() { 
    // i think you need to use getFullYear here to get the 4 digits of the year. 
    var onejan = new Date(this.getFullYear(),0,1); 
    return Math.ceil((((this - onejan)/86400000) + onejan.getDay()+1)/7); 
    } 

    var currentTime = new Date(); 
    //return new currentTime.getWeek() // before 
    return currentTime.getWeek() // after 
}