【问题标题】:Moment.js datepicker won't accept my datesMoment.js 日期选择器不会接受我的日期
【发布时间】:2017-07-31 14:19:22
【问题描述】:

我目前正在使用 React.js 开发一个项目。 我正在使用 material-ui 日期选择器,并且我阻止了除即将到来的 14 个日期之外的所有日期。我想要的是每个星期四我的日期选择器中都有 14 个新日期。

我应该将我的 beginningOfWeekendOfWeek 添加到我的 maxDateminDate 中,但它目前不起作用,我不知道如何正确设置。

它会在日志中输入正确的答案,但是当我按下日期选择器时出现错误,调试器会说:

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>

【问题讨论】:

  • 您确定这个日期选择器想要以您自己的自定义格式设置 max- 和 minDate ...?我想可能不是。 (而且很可能它也不关心这些值中的 time 组件。)
  • 一方面格式不对,应该是dd

标签: reactjs momentjs material-ui


【解决方案1】:

我通过这样做解决了它。我将 maxDate 更改为 maxDate = {new Date(endOfWeek)}/>

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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-27
    • 1970-01-01
    相关资源
    最近更新 更多