TimePicker

By clicking the input box, you can select a time from a popup panel.

Examples

Click TimePicker, and then we could select or input a time in panel.

expand codeexpand code
import { TimePicker } from 'antd';
import moment from 'moment';

function onChange(time, timeString) {
  console.log(time, timeString);
}

export default () => (
  <TimePicker onChange={onChange} defaultOpenValue={moment('00:00:00', 'HH:mm:ss')} />
);

The input box comes in three sizes. large is used in the form, while the medium size is the default.

expand codeexpand code
import { TimePicker } from 'antd';
import moment from 'moment';

export default () => (
  <>
    <TimePicker defaultValue={moment('12:08:23', 'HH:mm:ss')} size="large" />
    <TimePicker defaultValue={moment('12:08:23', 'HH:mm:ss')} />
    <TimePicker defaultValue={moment('12:08:23', 'HH:mm:ss')} size="small" />
  </>
);

While part of format is omitted, the corresponding column in panel will disappear, too.

expand codeexpand code
import { TimePicker } from 'antd';
import moment from 'moment';

const format = 'HH:mm';

export default () => <TimePicker defaultValue={moment('12:08', format)} format={format} />;

Render addon contents to time picker panel's bottom.

expand codeexpand code
import { TimePicker, Button } from 'antd';

class TimePickerAddonDemo extends React.Component {
  state = { open: false };

  handleOpenChange = open => {
    this.setState({ open });
  };

  handleClose = () => this.setState({ open: false });

  render() {
    return (
      <TimePicker
        open={this.state.open}
        onOpenChange={this.handleOpenChange}
        renderExtraFooter={() => (
          <Button size="small" type="primary" onClick={this.handleClose}>
            OK
          </Button>
        )}
      />
    );
  }
}

export default () => <TimePickerAddonDemo />;

Use time range picker with TimePicker.RangePicker.

expand codeexpand code
import { TimePicker } from 'antd';

export default () => <TimePicker.RangePicker />;

Add status to TimePicker with status, which could be error or warning.

expand codeexpand code
import { TimePicker, Space } from 'antd';

const Status: React.FC = () => (
  <Space direction="vertical">
    <TimePicker status="error" />
    <TimePicker status="warning" />
    <TimePicker.RangePicker status="error" />
    <TimePicker.RangePicker status="warning" />
  </Space>
);

export default () => <Status />;
4.19.0

value and onChange should be used together,

expand codeexpand code
import React, { useState } from 'react';
import { TimePicker } from 'antd';

const Demo = () => {
  const [value, setValue] = useState(null);

  const onChange = time => {
    setValue(time);
  };

  return <TimePicker value={value} onChange={onChange} />;
};

export default Demo;

A disabled state of the TimePicker.

expand codeexpand code
import { TimePicker } from 'antd';
import moment from 'moment';

export default () => <TimePicker defaultValue={moment('12:08:23', 'HH:mm:ss')} disabled />;

Show stepped options by hourStep minuteStep secondStep.

expand codeexpand code
import { TimePicker } from 'antd';

export default () => <TimePicker minuteStep={15} secondStep={10} />;

TimePicker of 12 hours format, with default format h:mm:ss a.

expand codeexpand code
import { TimePicker } from 'antd';

function onChange(time, timeString) {
  console.log(time, timeString);
}

export default () => (
  <>
    <TimePicker use12Hours onChange={onChange} />
    <TimePicker use12Hours format="h:mm:ss A" onChange={onChange} style={{ width: 140 }} />
    <TimePicker use12Hours format="h:mm a" onChange={onChange} />
  </>
);

Bordered-less style component.

expand codeexpand code
import { TimePicker } from 'antd';

const { RangePicker } = TimePicker;

export default () => (
  <>
    <TimePicker bordered={false} />
    <RangePicker bordered={false} />
  </>
);

API#


import moment from 'moment';

<TimePicker defaultValue={moment('13:30:56', 'HH:mm:ss')} />;
PropertyDescriptionTypeDefaultVersion
allowClearWhether allow clearing textbooleantrue
autoFocusIf get focus when component mountedbooleanfalse
borderedWhether has border stylebooleantrue
classNameThe className of pickerstring-
clearIconThe custom clear iconReactNode-
clearTextThe clear tooltip of iconstringclear
defaultValueTo set default timemoment-
disabledDetermine whether the TimePicker is disabledbooleanfalse
disabledTimeTo specify the time that cannot be selectedDisabledTime-4.19.0
formatTo set the time formatstringHH:mm:ss
getPopupContainerTo set the container of the floating layer, while the default is to create a div element in bodyfunction(trigger)-
hideDisabledOptionsWhether hide the options that can not be selectedbooleanfalse
hourStepInterval between hours in pickernumber1
inputReadOnlySet the readonly attribute of the input tag (avoids virtual keyboard on touch devices)booleanfalse
minuteStepInterval between minutes in pickernumber1
openWhether to popup panelbooleanfalse
placeholderDisplay when there's no valuestring | [string, string]Select a time
placementThe position where the selection box pops upbottomLeft bottomRight topLeft topRightbottomLeft
popupClassNameThe className of panelstring-
popupStyleThe style of panelCSSProperties-
renderExtraFooterCalled from time picker panel to render some addon to its bottom() => ReactNode-
secondStepInterval between seconds in pickernumber1
showNowWhether to show Now button on panelboolean-4.4.0
statusSet validation status'error' | 'warning' | 'success' | 'validating'-4.19.0
suffixIconThe custom suffix iconReactNode-
use12HoursDisplay as 12 hours format, with default format h:mm:ss abooleanfalse
valueTo set timemoment-
onChangeA callback function, can be executed when the selected time is changingfunction(time: moment, timeString: string): void-
onOpenChangeA callback function which will be called while panel opening/closing(open: boolean) => void-
onSelectA callback function, executes when a value is selectedfunction(time: moment): void-

DisabledTime#

type DisabledTime = (now: Moment) => {
  disabledHours?: () => number[];
  disabledMinutes?: (selectedHour: number) => number[];
  disabledSeconds?: (selectedHour: number, selectedMinute: number) => number[];
};

Methods#

NameDescriptionVersion
blur()Remove focus
focus()Get focus

RangePicker#

Same props from RangePicker of DatePicker. And includes additional props:

PropertyDescriptionTypeDefaultVersion
disabledTimeTo specify the time that cannot be selectedRangeDisabledTime-4.19.0
orderOrder start and end timebooleantrue4.1.0

RangeDisabledTime#

type RangeDisabledTime = (
  now: Moment,
  type = 'start' | 'end',
) => {
  disabledHours?: () => number[];
  disabledMinutes?: (selectedHour: number) => number[];
  disabledSeconds?: (selectedHour: number, selectedMinute: number) => number[];
};

FAQ#