Skip to content
+

Time Picker

The Time Picker component lets the user select a time.

Basic usage

Press Enter to start editing

Component composition

The component is built using the TimeField for the keyboard editing, the DigitalClock for the desktop view editing, and the TimeClock for the mobile view editing.

Check-out their documentation page for more information:

You can check the available props of the combined component on the dedicated API page. Some TimeField props are not available on the Picker component, you can use slotProps.field to pass them to the field.

Uncontrolled vs. controlled value

The value of the component can be uncontrolled or controlled.

Press Enter to start editing

Available components

The component is available in four variants:

  • The DesktopTimePicker component which works best for mouse devices and large screens. It renders the views inside a popover and allows editing values directly inside the field.

  • The MobileTimePicker component which works best for touch devices and small screens. It renders the view inside a modal and does not allow editing values directly inside the field.

  • The TimePicker component which renders DesktopTimePicker or MobileTimePicker depending on the device it runs on.

  • The StaticTimePicker component which renders without the popover/modal and field.

Desktop variant

Mobile variant

Responsive variant

Static variant

Select time
:
123456789101112
Press Enter to start editing

By default, the TimePicker component renders the desktop version if the media query @media (pointer: fine) matches. This can be customized with the desktopModeMediaQuery prop.

Form props

The component can be disabled or read-only.

Press Enter to start editing

Views

The component supports three views: hours, minutes and seconds.

By default, the hours and minutes views are enabled. Use the views prop to change this behavior:

"hours", "minutes" and "seconds"

"hours"

"minutes" and "seconds"

Press Enter to start editing

By default, the MobileTimePicker component renders the hours view on mount. Use the openTo prop to change this behavior:

Press Enter to start editing

Landscape orientation

By default, the Time Picker component automatically sets the orientation based on the window.orientation value.

You can force a specific orientation using the orientation prop.

Select time
:
123456789101112
Press Enter to start editing

Choose time view renderer

You can use the viewRenderers prop to change the view that is used for rendering a view. You might be interested in using the Time Clock instead of the Digital Clock on desktop as well as mobile.

Press Enter to start editing

Localization

See the Date format and localization and Translated components documentation pages for more details.

Validation

See the Validation documentation page for more details.

API

See the documentation below for a complete reference to all of the props and classes available to the components mentioned here.