項目中遇到了選擇日期獲取當前日期一週的週一和週日的日期,以下:git
項目使用的是 ant design,因此第一時間想到了 DatePicker 中的 WeekPicker 組件,查詢文檔獲得 WeekPicker 組件中的屬性和方法以下:this
引入組件,編寫相關代碼以下:spa
<WeekPicker value={weekData} onChange={this.handleWeekChange} style={{ width: 260 }} placeholder='請選擇日期' /> handleWeekChange = (weekData, weekStrings) => { console.log(weekData, weekStrings); }
選擇日期,打印 onChange 方法獲取到回調值:code
經過打印信息能夠看出,返回的 weekData 是一個 moment 對象,weekString 是當前對象解析出來的時間值,component
默認顯示了選中的年份和第幾周,這並非我想要的,若是須要獲取到當前周詳細的時間信息,則須要對返回的結果進行處理,代碼以下:orm
handleWeekChange = weekData => { const startDate = moment(weekData).day(1).format('YYYY/MM/DD (dddd)'); // 週一日期
const endDate = moment(weekData).day(7).format('YYYY/MM/DD (dddd)'); // 週日日期
console.log(startDate, endDate);
}
從新選擇時間(好比2018年11月6日):對象
查看打印信息,以下:blog
能夠看到,已經正確獲取到了當前日期所在周的起止日期了。文檔
這裏的日期解析主要用到了 moment.js 提供的兩個方法,get