--- title: Date Picker description: A date picker component with range and presets. base: aria component: true --- ## Installation The Date Picker is built using a composition of the `` and the `` components. See installation instructions for the [Popover](/docs/components/aria/popover#installation) and the [Calendar](/docs/components/aria/calendar#installation) components. ## Usage ```tsx showLineNumbers title="components/example-date-picker.tsx" "use client" import * as React from "react" import { getLocalTimeZone, type CalendarDate } from "@internationalized/date" import { cn } from "cn" import { Calendar as CalendarIcon } from "lucide-react" import { Button } from "@/components/ui/button" import { Calendar } from "@/components/ui/calendar" import { Popover, PopoverTrigger } from "@/components/ui/popover" export function DatePickerDemo() { const [date, setDate] = React.useState(null) return ( ) } ``` See the [React Aria](https://react-aria.adobe.com/Calendar) documentation for more information. ## Composition A date picker is built from `Popover` and `Calendar` (there is no `DatePicker` root component): ```text PopoverTrigger ├── Button └── Popover └── Calendar ``` ## Basic A basic date picker component. ## Range Picker A date picker component for selecting a range of dates. ## Date of Birth A date picker component for selecting a date of birth. This component includes a dropdown caption layout for date and month selection. ## Input A date picker component with an input field for selecting a date. ## Time Picker A date picker component with a time input field for selecting a time. ## Natural Language Picker This component uses the `chrono-node` library to parse natural language dates. ## RTL To enable RTL support in shadcn/ui, see the [RTL configuration guide](/docs/rtl).