DateTimePicker 是一个 React 组件,用于渲染日期和时间选择的日历和时钟界面。它基于 WordPress 组件库,支持通过 DatePicker 和 TimePicker 单独访问子组件。
import { useState } from 'react';
import { DateTimePicker } from '@wordpress/components';
const MyDateTimePicker = () => {
const [ date, setDate ] = useState( new Date() );
return (
<DateTimePicker
currentDate={ date }
onChange={ ( newDate ) => setDate( newDate ) }
is12Hour={ true }
/>
);
};DateTimePicker is a React component that renders a calendar and clock for date and time selection. The calendar and clock components can be accessed individually using the DatePicker and TimePicker components respectively.

Date pickers should:
Render a DateTimePicker.
import { useState } from 'react';
import { DateTimePicker } from '@wordpress/components';
const MyDateTimePicker = () => {
const [ date, setDate ] = useState( new Date() );
return (
<DateTimePicker
currentDate={ date }
onChange={ ( newDate ) => setDate( newDate ) }
is12Hour={ true }
/>
);
};
The component accepts the following props:
currentDate: Date | string | number | nullThe current date and time at initialization. Optionally pass in a null value to specify no date is currently selected.
onChange: ( date: string | null ) => voidThe function called when a new date or time has been selected. It is passed the currentDate as an argument.
is12Hour: booleanWhether we use a 12-hour clock. With a 12-hour clock, an AM/PM widget is displayed and the time format is assumed to be MM-DD-YYYY (as opposed to the default format DD-MM-YYYY).
booldateOrder: 'dmy' | 'mdy' | 'ymd'The order of day, month, and year. This prop overrides the time format determined by is12Hour prop.
string'dmy'isInvalidDate: ( date: Date ) => booleanA callback function which receives a Date object representing a day as an argument, and should return a Boolean to signify if the day is valid or not.
onMonthPreviewed: ( date: string ) => voidA callback invoked when selecting the previous/next month in the date picker. The callback receives the new month date in the ISO format as an argument.
events: { date: Date }[]List of events to show in the date picker. Each event will appear as a dot on the day of the event.
ArraystartOfWeek: numberThe day that the week should start on. 0 for Sunday, 1 for Monday, etc.