90.4k

Date Picker

A date picker component with range and presets.

Installation

The Date Picker is built using a composition of the <Popover /> and the <Calendar /> components.

See installation instructions for the Popover and the Calendar components.

Usage

components/example-date-picker.tsx
"use client"   import * as React from "react" import { format } from "date-fns" import { Calendar as CalendarIcon } from "lucide-react"   import { cn } from "@/lib/utils" import { Button } from "@/components/ui/button" import { Calendar } from "@/components/ui/calendar" import {  Popover,  PopoverContent,  PopoverTrigger, } from "@/components/ui/popover"   export function DatePickerDemo() {  const [date, setDate] = React.useState<Date>()    return (  <Popover>  <PopoverTrigger asChild>  <Button  variant="outline"  data-empty={!date}  className="data-[empty=true]:text-muted-foreground w-[280px] justify-start text-left font-normal"  >  <CalendarIcon />  {date ? format(date, "PPP") : <span>Pick a date</span>}  </Button>  </PopoverTrigger>  <PopoverContent className="w-auto p-0">  <Calendar mode="single" selected={date} onSelect={setDate} />  </PopoverContent>  </Popover>  ) }

See the React DayPicker documentation for more information.

Examples

Date of Birth Picker

Picker with Input

Date and Time Picker

Natural Language Picker

This component uses the chrono-node library to parse natural language dates.

Form