存储的值2022-04-17T15:30:00-04:00
您可以使用 timezone
属性显式定义应呈现值的时区
存储的值2022-04-17T15:30:00Z
按 Enter 开始编辑
如果组件没有 value
或 defaultValue
来从中推断时区,或者您不想在其原始时区中呈现值,则将需要这样做。
支持的时区
时区 | 描述 |
---|---|
"UTC" |
将使用协调世界时 |
"default" |
将使用您的日期库的默认时区,可以使用以下方法设置此值 - dayjs.tz.setDefault on dayjs- Settings.defaultZone on luxon- moment.tz.setDefault on moment |
"system" |
将使用系统的本地时区 |
IANA 标准区域 | 示例: "Europe/Paris" , "America/New_York" 所有 IANA 区域的列表 |
固定偏移量 | 示例: "UTC+7" 仅适用于 Luxon |
存储的值2022-04-17T15:30:00Z
与 Day.js 一起使用
Day.js 和 UTC
在使用 UTC 日期与 Day.js 之前,您必须启用 utc
插件
import dayjs from 'dayjs';
import utc from 'dayjs/plugin/utc';
dayjs.extend(utc);
然后,您可以将您的 UTC 日期传递给您的选择器
import dayjs from 'dayjs';
import utc from 'dayjs/plugin/utc';
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
dayjs.extend(utc);
function App() {
return (
<LocalizationProvider dateAdapter={AdapterDayjs}>
<DateTimePicker defaultValue={dayjs.utc('2022-04-17T15:30')} />
</LocalizationProvider>
);
}
存储的值2022-04-17T15:30:00Z
Day.js 和时区
在使用时区与 Day.js 之前,您必须同时启用 utc
和 timezone
插件
import dayjs from 'dayjs';
import utc from 'dayjs/plugin/utc';
import timezone from 'dayjs/plugin/timezone';
dayjs.extend(utc);
dayjs.extend(timezone);
然后,您可以将您想要的时区中的日期传递给您的选择器
import dayjs from 'dayjs';
import utc from 'dayjs/plugin/utc';
import timezone from 'dayjs/plugin/timezone';
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
dayjs.extend(utc);
dayjs.extend(timezone);
function App() {
return (
<LocalizationProvider dateAdapter={AdapterDayjs}>
<DateTimePicker
defaultValue={dayjs.tz('2022-04-17T15:30', 'America/New_York')}
/>
</LocalizationProvider>
);
}
存储的值2022-04-17T15:30:00-04:00
与 Luxon 一起使用
Luxon 和 UTC
然后,您可以将您的 UTC 日期传递给您的选择器
import { DateTime } from 'luxon';
import { AdapterLuxon } from '@mui/x-date-pickers/AdapterLuxon';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
function App() {
return (
<LocalizationProvider dateAdapter={AdapterLuxon}>
<DateTimePicker
defaultValue={DateTime.fromISO('2022-04-17T15:30', { zone: 'UTC' })}
/>
</LocalizationProvider>
);
}
存储的值2022-04-17T15:30:00.000Z
Luxon 和时区
然后,您可以将您想要的时区中的日期传递给您的选择器
import { DateTime } from 'luxon';
import { AdapterLuxon } from '@mui/x-date-pickers/AdapterLuxon';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
function App() {
return (
<LocalizationProvider dateAdapter={AdapterLuxon}>
<DateTimePicker
defaultValue={DateTime.fromISO('2022-04-17T15:30', {
zone: 'America/New_York',
})}
/>
</LocalizationProvider>
);
}
存储的值2022-04-17T15:30:00.000-04:00
与 Moment 一起使用
Moment 和 UTC
然后,您可以将您的 UTC 日期传递给您的选择器
import moment from 'moment';
import { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
function App() {
return (
<LocalizationProvider dateAdapter={AdapterMoment}>
<DateTimePicker defaultValue={moment.utc('2022-04-17T15:30')} />
</LocalizationProvider>
);
}
存储的值2022-04-17T15:30:00Z
Moment 和时区
在使用时区与 Moment 之前,您必须将来自 moment-timezone
的默认导出传递给 LocalizationProvider
的 dateLibInstance
属性
import moment from 'moment-timezone';
import { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
<LocalizationProvider dateAdapter={AdapterMoment} dateLibInstance={moment}>
{children}
</LocalizationProvider>;
然后,您可以将您想要的时区中的日期传递给您的选择器
import moment from 'moment-timezone';
import { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
function App() {
return (
<LocalizationProvider dateAdapter={AdapterMoment} dateLibInstance={moment}>
<DateTimePicker
defaultValue={moment.tz('2022-04-17T15:30', 'America/New_York')}
/>
</LocalizationProvider>
);
}
存储的值2022-04-17T15:30:00-04:00
存储的值2022-04-17T15:30:00Z
存储 UTC 日期,但在另一个时区中显示
下面的演示展示了如何存储 UTC 日期,同时使用 Pacific/Honolulu
时区显示。
存储的值2022-04-17T15:30:00Z