2016-12-13 108 views
0

我希望在本週使用JavaScript的第一天和最後一天。在javascript中獲取本週的日期

例如,今天是2016年12月12日。

FD =二〇一六年十一月一十二日 LD = 2016-17-12

我怎樣才能獲得FD和LD?我試過用這個代碼,

Date.prototype.GetFirstDayOfWeek = function() { 
     return (new Date(this.setDate(this.getDate() - this.getDay()))); 
    } 

    Date.prototype.GetLastDayOfWeek = function() { 
     return (new Date(this.setDate(this.getDate() - this.getDay() +6))); 
    } 
    var today = new Date(); 

它正在工作,但我想在「2016-12-11」格式化它。 另外我也想把日期變成過去或未來。 例如,如果我點擊按鈕「<」它將會超過1周。那麼如果用戶再次點擊該按鈕,它將在下一週獲得。等等。

情景:現在 日期是2016年11月12日 - 2016-17-12 當用戶點擊按鈕 「<」。它會變成2016-04-12 - 2016-10-12

+0

你打算使用插件嗎? MomentJS可以完成所有這一切。 http://momentjs.com/docs/特別爲您的要求檢查http://momentjs.com/docs/#/manipulating/start-of/,http://momentjs.com/docs/#/manipulating/end -of /,http://momentjs.com/docs/#/displaying/format/,http://momentjs.com/docs/#/manipulating/add/,http://momentjs.com/docs/#/操縱/減法/ – ADyson

+0

我不打算使用任何插件。不管怎麼說,還是要謝謝你。 – JMA

+0

我可以問爲什麼不呢?這會爲你節省很多努力。當然,除非你是在做這個學習練習。 – ADyson

回答

1

你可以使用下面的腳本來查找當週的firstDay和lastDay;

//0=Sunday, 1=Monday 
var d = new Date(); 
var day = d.getDay(); 

var firstDayOW = d.getDate() - day + (day == 0 ? -6:1); 
firstDay = new Date(d.setDate(firstDay)); 

var lastDayOW = firstDay + 6; 
lastDayOW = new Date(d.setDate(lastDayOW)); 

我希望這可以幫助你。

親切的問候。

0
var curr = new Date; // get current date 
    var first = curr.getDate() - curr.getDay(); // First day is the day of the month - the day of the week 
    var last = first + 6; // last day is the first day + 6 

    var firstday = new Date(curr.setDate(first)).toUTCString(); 
    var lastday = new Date(curr.setDate(last)).toUTCString(); 
相關問題