获取今天之前的所有天数

Get all days before today

我尝试在我的 React 应用程序中实现来自 ant design 的范围选择器。我也用 momentjs.

 <RangePicker
      dateRender={current => {
        const allDays = moment(current).format("DD-MM-YYYY");

        const style = {};
        if (moment(todayDate).isAfter(allDays)) {
          style.border = "1px solid #1890ff";
          style.borderRadius = "50%";
          style.background = "red";
        }
        return (
          <div className="ant-picker-cell-inner" style={style}>
            {current.date()}
          </div>
        );
      }}
    />
  </>,

上面我尝试为今天之前的这些天添加样式,但我得到了下个月的结果(红色项目符号也用于 7 月),但我的期望是只为这些天添加样式在 6 月的今天之前,因此应该只对 6 月 8 日之前的所有月份使用红色背景。
如何解决这个问题?
演示:https://codesandbox.io/s/wild-fire-xki5j?file=/index.js:288-762

我已经删除了 .format() 并且它有效

const todayDate = moment();

ReactDOM.render(
  <>
    <RangePicker
      dateRender={current => {
        const style = {};
        if (moment(todayDate).isAfter(current)) {
          style.border = "1px solid #1890ff";
          style.borderRadius = "50%";
          style.background = "red";
        }
        return (
          <div className="ant-picker-cell-inner" style={style}>
            {current.date()}
          </div>
        );
      }}
    />
  </>,
  document.getElementById("container")
);

看来您不需要格式化日期来进行比较。

@dmitro Alreday given answer, but you can also try this checkDate function you just need to pass date in string formate

 let checkDate=function(allDates){
              let result=false;
              var dateParts = allDates.split("-");
              var dateObject = new Date(
                +dateParts[2],
                dateParts[1] - 1,
                +dateParts[0]
              );
              result=  new Date(dateObject) < new Date(new Date().toDateString())
              return result
            }