title: How to solve unexpected antd datepicker behavior
body: <p>I need to disable select past datetime in Ant Datepicker.
  Now, if u select time first u can select today (include past datetime). But if u select day first u can't select past time.
  <a href="https://watch.screencastify.com/v/ggubtlc0kaiXNtyaiSFL" rel="nofollow noreferrer">Video demo [screencastify]</a></p>
  <pre><code>&lt;DatePicker
    disabledDate={getDisabledDate}
    disabledTime={getDisabledTimes}
    format=&quot;Do MMMM yyyy в HH:mm&quot;
    onChange={(moment) =&gt; debouncedSetStartDate.run(moment ? moment.toDate() : null)}
    placeholder=&quot;Выберите дату и время&quot;
    showNow={false}
    showTime
  /&gt;
  
  const getDisabledDate = (date: Moment): boolean =&gt; {
    const current = moment().format(dateFormat.dateWithoutTime);
    return date.isSameOrBefore(current);
  };
  
  const getDisabledMinutes = (hour: number, currentHour: number, currentMinute: number) =&gt; {
    const result: number[] = [];
    if (hour === currentHour) {
      for (let i = 0; i &lt; currentMinute + NEW_TOURNAMENT_START_DELAY_MINUTES; i += 1) {
        result.push(i);
      }
    }
    return result;
  };
  
  const getDisabledTimes = (date: null | Moment): DisabledTimes =&gt; {
    if (date === null) {
      return {};
    }
  
    const selected = moment(date.format(dateFormat.dateWithoutTime));
    const current = moment();
    const currentHour = current.hours();
    const currentMinute = current.minutes();
    const isToday = selected.isSame(current.format(dateFormat.dateWithoutTime));
    const hoursToDisable: number[] = [];
  
    if (isToday) {
      for (let i = 0; i &lt; currentHour; i += 1) {
        hoursToDisable.push(i);
      }
    }
  
    return {
      disabledHours: () =&gt; hoursToDisable,
      disabledMinutes: (hour: number) =&gt; (isToday ? getDisabledMinutes(hour, currentHour, currentMinute) : []),
    };
  };
  </code></pre>