2015-10-19 44 views
1

鑑於今天是2015年10月,在日曆視圖中,9月27日至29日出現在日曆上,10月31日出現。我想獲取日曆上顯示的開始日期以及結束日期,因此在這種情況下,應該是2015年9月27日和10/31/2015。moment.js並在日曆視圖中獲取尾隨日期

我正在使用moment.js來嘗試並計算此值。我的想法是,我會得到日曆周,然後將其轉換爲查找開始日期,然後獲取日曆顯示的結束周,並將其轉換爲顯示的最後日期。它的證明是相當具有挑戰性的,這讓我覺得有一個更簡單的方法。

我正在查看此處找到的文檔:http://momentjs.com/docs/#/get-set/,但我無法將一些事件鏈接在一起。

我有這個讓我在今年月:

var day = '2015-10-19'; 
var getStartWeekYear = moment(day).startOf("month").week(); 
var getEndDateWeekYear = moment(day).endOf("month").week(); 

,這是爲給定日期返回的40和44的預期值(天),但會下一步是什麼呢?

回答

1

這比您想象的要容易。 :)

var day = '2015-10-19'; 
var start = moment(day).startOf('month').startOf('week').format('YYYY-MM-DD'); 
var end = moment(day).endOf('month').endOf('week').format('YYYY-MM-DD'); 

console.log(start); // "2015-09-27" 
console.log(end); // "2015-10-31" 
+0

謝謝!這比我想象的要容易。我接近了我的一個嘗試,我有'var start = moment(day).startOf(「month」)。week();' – HPWD

+1

是的,你很接近。 :)「周」功能用於逐周獲取或設置數字,但在這種情況下,週數本身並不重要,只是您*移動*到一週的開始或結束。另外請記住,一週開始的星期幾是特定於語言環境的。這可能是你想要的,但是你可以使用'isoWeek',它會在週一開始。 –

+0

locale具體是我們想要的,但這是其他人考慮誰在這方面遇到困難的好處。 +1 – HPWD