Skip to content

Date Time Picker

Combined date & time picker.

This component combines the date & time pickers. It allows the user to select both date and time with the same control.

Note that this component is the DatePicker and TimePicker component combined, so any of these components' props can be passed to the DateTimePicker.

Basic usage

Allows choosing date then time. There are 4 steps available (year, date, hour and minute), so tabs are required to visually distinguish date/time steps.

<LocalizationProvider dateAdapter={AdapterDateFns}>
  <DateTimePicker
    renderInput={(props) => <TextField {...props} />}
    label="DateTimePicker"
    value={value}
    onChange={(newValue) => {
      setValue(newValue);
    }}
  />
</LocalizationProvider>

Responsiveness

The DateTimePicker component is designed and optimized for the device it runs on.

  • The MobileDateTimePicker component works best for touch devices and small screens.
  • The DesktopDateTimePicker component works best for mouse devices and large screens.

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

Form props

The date time picker component can be disabled or read-only.

Date and time validation

It is possible to restrict date and time selection in two ways:

  • by using minDateTime/maxDateTime its possible to restrict time selection to before or after a particular moment in time
  • using minTime/maxTime, you can disable selecting times before or after a certain time each day respectively

Static mode

It's possible to render any date & time picker inline. This will enable building custom popover/modal containers.

<LocalizationProvider dateAdapter={AdapterDateFns}>
  <StaticDateTimePicker
    displayStaticWrapperAs="desktop"
    openTo="year"
    value={value}
    onChange={(newValue) => {
      setValue(newValue);
    }}
    renderInput={(params) => <TextField {...params} />}
  />
</LocalizationProvider>

Customization

Here are some examples of heavily customized date & time pickers:

Hardcoded helper text

Clear Initial State