Date Field

Dates & Time
Local guide ↗ import { DateField } from "bits-ui"

Segmented date

Locale-aware month, day, and year segments with native form participation

Arrival date
09072026

Use the arrow keys to adjust the focused segment.

September 7, 2026

Custom validation

validate returns an error message while errorMessageId connects it to the field

Dispatch date
09052026

Current value

Saturday, September 5, 2026

Date and time

granularity="minute" adds hour and minute segments; readonlySegments locks the year

Design review

The year segment is visible but read-only.

Session date and time
083120260930
Aug 31, 2026, 9:30 AM

Date Field stores immutable DateValue objects from @internationalized/date. A CalendarDate defaults to day granularity; a date-time value defaults to minute granularity. The placeholder is not empty-field text: it seeds segment cycling and can determine the resulting value type, while value is the user's completed selection.

Every rendered segment must receive its part, including locale-specific literals. Setting name on DateField.Input adds the hidden input used by native form submission; errorMessageId associates custom validation text with the segmented field.