儲存的值2022-04-17T15:30:00-04:00
您可以使用 timezone
prop 明確定義應呈現值的時區
儲存的值2022-04-17T15:30:00Z
按下 Enter 開始編輯
如果元件沒有 value
或 defaultValue
從中推斷時區,或者您不想在其原始時區中呈現值,則將需要此操作。
支援的時區
時區 | 描述 |
---|---|
"UTC" |
將使用協調世界時 |
"default" |
將使用您的日期函式庫的預設時區,可以使用以下方式設定此值 - dayjs.tz.setDefault 在 dayjs 上- Settings.defaultZone 在 luxon 上- moment.tz.setDefault 在 moment 上 |
"system" |
將使用系統的本地時區 |
IANA 標準時區 | 範例:"Europe/Paris" 、"America/New_York" 所有 IANA 時區的列表 |
固定偏移量 | 範例:"UTC+7" 僅適用於 Luxon |
儲存的值2022-04-17T15:30:00Z
與 Day.js 一起使用
Day.js 與 UTC
在使用 Day.js 的 UTC 日期之前,您必須啟用 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
prop
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