Date picker
At its most bare the EuiDatePicker only requires props for selected
and onChange
.
It depends on moment for all of its formatting.
Date picker states
Examples of how the input can appear within a form. This should match our other form styles.
Time selection
Two props control time selection. showTimeSelect
will make time selection appear next to the calendar
and showTimeSelectOnly
will exclude the calendar and make the time selection the only thing you see.
Make sure to adjust your dateFormat
and timeFormat
values to match.
Locale
Locale formatting is achieved by using the locale
, timeFormat
, and dateFormat
props.
The latter will take any moment()
notation.
Check Date format by country for formatting examples.
Moment will try to load the locale on demand when it is used. Bundlers that do not support dynamic require statements
will need to explicitly import the locale, e.g. import 'moment/locale/zh-cn'
. See the below demo JS for examples.
Date picker range
To create a single date range control, use EuiDatePickerRange and pass individual EuiDatePicker components
into the startDateControl
and endDateControl
props. You can control the state of both inputs as direct props
on EuiDatePickerRange as well as control each individually. Date specific props need to applied
to the individual components.
Dynamic minDate
and maxDate
By using minDate
and maxDate
, and updating the values based on startDate
and endDate
,
users get immediate feedback on what range values are allowed.
Only allow specific dates and times
Use the minDate
, maxDate
, minTime
, and maxTime
props to specify specific ranges the selected
code
must fall into. You can also use the excludeDates
andexcludeTimes
property to disallow a specific
array of items from selection.
Open to a specific date
Use openToDate
to default selection to a specific date.
Custom input
Use customInput
to pass a custom input to trigger your calendar.
UTC offsets
Use utcOffset
to apply an offset to the datetime.
Date picker inline
Use the inline
prop to display the date picker directly in the page instead of inside a popover.
This prop works for both EuiDatePicker as well as EuiDatePickerRange.
If you do not need the default inline shadow effect, apply the shadow={false}
prop.
Custom classes
Custom classes can be passed to various bits of the calendar and input.
className
will pass onto the input.calendarClassName
will pass onto the calendar itself.dayClassName
will pass onto specified days.popperClassName
will pass onto the popover.