Date Range Field

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

Bound stay duration

The start and end segments share one bound range; external controls preserve its duration

Stay dates
4 nights

Date and time range

A CalendarDateTime range rendered to minute granularity with an explicit 24-hour cycle

Studio booking window
2026-09-18T16:30:00 → 2026-09-18T18:00:00

Each DateRangeField.Input requires a type of start or end; its optional name creates a hidden form input. The bound value is one object with start and end date values, and either side may be temporarily undefined while the user is entering it.

Granularity defaults to day for a CalendarDate and minute for CalendarDateTime. It controls which segments render, while locale controls their order and separators; hourCycle overrides the locale's 12- or 24-hour preference when time segments are present.