我目前正在使用React.js开展项目。 我正在使用material-ui datepicker,我阻止除了即将到来的14个日期之外的所有日期。我想要的是每周四我在我的日期选择器中获得14个新日期。
我应该将beginningOfWeek
和endOfWeek
添加到我的maxDate
和minDate
,但它目前无效,我可以&# 39;弄清楚如何做到正确。
它在日志中键入了正确的答案,但是当我按下日期选择器时,我收到错误并且调试器说:
TypeError: d2.getFullYear is not a function at monthDiff
我做错了什么?
我已将此示例用于我自己的代码。 How to get the date ranges of a given week number in JS
这是我的代码:
var moment = require('moment');
const w = moment().weekday();
const daysToSubtract = (w + 3)%7;
const beginningOfWeek = moment(new Date()));
const endOfWeek = moment(new Date()).add(-daysToSubtract, 'days');
console.log(beginningOfWeek.format('MM/DD/YYYY h:mm a'),
endOfWeek.format('MM/DD/YYYY h:mm a'))
<div className="center-container">
<DatePicker hintText={newdate} mode="landscape" maxDate={endOfWeek}
minDate={beginningOfWeek}/>
</div>
答案 0 :(得分:1)
我这样解决了这个问题。我将maxDate更改为maxDate = {new Date(endOfWeek)} /&gt;
const moment = require('moment');
const w = moment().weekday();
const daysToSubtract = ((w + 3 + Math.floor(hours/16)))%7 ;
const beginningOfWeek = moment().add(-daysToSubtract, 'days');
const endOfWeek = moment().add(14-daysToSubtract, 'days');
console.log(beginningOfWeek);
console.log(endOfWeek);
<div className="center-container">
<DatePicker hintText={newdate} mode="landscape" minDate={new
Date()} maxDate = {new Date(endOfWeek)}/>
</div>