DateTimeInput
StableCombined date and time field in a single segmented input.
Installation
npm install @xaui/native
Import
import { DateTimeInput, getDateOrder, dateTimeInputValueToDate, dateToDateTimeInputValue } from '@xaui/native/input'
Basic Usage
Minimal example showing the component with its default configuration.
import { DateTimeInput } from '@xaui/native/input'export function Example() {return <DateTimeInput />}
Basic DateTimeInput
Combined date and time entry in a single field.
import { DateTimeInput } from '@xaui/native/input'export function BasicExample() {return <DateTimeInput label="Appointment" />}
Custom Format
Set date order, separator, hour cycle, and granularity.
import { DateTimeInput } from '@xaui/native/input'export function FormatExample() {return (<DateTimeInputlabel="Reminder"dateOrder="DMY"separator="/"hourCycle={24}granularity="minute"/>)}
With Seconds
Include the seconds segment for precise time entry.
import { DateTimeInput } from '@xaui/native/input'export function WithSecondsExample() {return (<DateTimeInputlabel="Timestamp"dateOrder="YMD"separator="-"hourCycle={24}granularity="second"/>)}
Controlled DateTimeInput
Manage the combined value with React state.
import { useState } from 'react'import { DateTimeInput } from '@xaui/native/input'export function ControlledExample() {const [value, setValue] = useState('')return (<DateTimeInputlabel="Event date & time"value={value}onValueChange={setValue}dateOrder="DMY"separator="/"hourCycle={24}/>)}
Convert value to Date
Use dateTimeInputValueToDate to parse the formatted string into a Date object.
import { dateTimeInputValueToDate } from '@xaui/native/input'dateTimeInputValueToDate('25/01/2024 14:30', 'DMY', { separator: '/' })// → Date { 2024-01-25T14:30:00.000 }dateTimeInputValueToDate('2024-01-25 02:30 PM', 'YMD', { separator: '-', hourCycle: 12 })// → Date { 2024-01-25T14:30:00.000 }dateTimeInputValueToDate('31/02/2024 10:00', 'DMY', { separator: '/' })// → null (invalid date)
Convert Date to value
Use dateToDateTimeInputValue to format a Date or ISO string into the value format expected by DateTimeInput.
import { dateToDateTimeInputValue } from '@xaui/native/input'dateToDateTimeInputValue(new Date(2024, 0, 25, 14, 30, 0), 'DMY', { separator: '/' })// → "25/01/2024 14:30"dateToDateTimeInputValue(new Date(2024, 0, 25, 14, 30, 45), 'YMD', {separator: '-',granularity: 'second',hourCycle: 12,})// → "2024-01-25 02:30:45 PM"