jix*_*jix 7 datepicker momentjs reactjs material-ui
我正在使用 MUI v6 中的 DatePicker ( https://mui.com/x/react-date-pickers/date-picker/ )。目前我注意到日历中的周从星期日开始,但我需要它们从星期一开始。任何帮助都会非常感激,因为我没有在互联网上找到此问题的任何解决方案(仅适用于旧版本的解决方案)。
作为本地化人员,我使用 moment.js
import { LocalizationProvider } from '@mui/x-date-pickers';
import { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment';
import { DatePicker } from '@mui/x-date-pickers/DatePicker';
import moment from 'moment';
...
<LocalizationProvider dateAdapter={AdapterMoment}>
...
<DatePicker
name="date"
value={dateValue}
format="DD/MM/YYYY"
onChange={(newValue) => {
setDateValue(newValue);
setFieldValue('date', dateValue.toDate());
}}
slotProps={{
textField: { size: 'small' },
previousIconButton: { color: 'secondary' },
nextIconButton: { color: 'secondary' },
openPickerButton: { color: 'secondary' },
}}
dayOfWeekFormatter={(day) => `${day}`}
calendarStartDay={1}
/>
Run Code Online (Sandbox Code Playgroud)
这是我的日历的样子:https ://i.stack.imgur.com/2vO43.png
对于 date-fns,您可以将全局默认区域设置设置为 enGB:
import { setDefaultOptions } from 'date-fns';
import { enGB } from 'date-fns/locale';
setDefaultOptions({ locale: enGB });
Run Code Online (Sandbox Code Playgroud)
根据https://date-fns.org/docs/Locale
默认区域设置是 en-US。
这就是为什么第一天是星期日
小智 3
正如我在文档中看到的,现在不支持它。
但是您可以通过更改时刻的一周第一天来调整它
moment.updateLocale("en", {
week: {
dow: 1
}
});
Run Code Online (Sandbox Code Playgroud)
https://codesandbox.io/s/infallible-tree-d6b0je
供参考 https://github.com/mui/mui-x/issues/7670