You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Material UI DatePicker仅获取年份(React)

解决Material UI DatePicker仅输出选中年份的方法

当你设置views={["year"]}后,onChange回调返回的依然是完整的Date(或dayjs)对象,要只输出选中年份,只需从这个日期对象中提取年份即可,具体实现如下:

代码示例

import { DatePicker } from '@mui/x-date-pickers/DatePicker';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';

export default function YearOnlyPicker() {
  const handleYearSelect = (date) => {
    if (date) {
      // 方法1:使用原生Date对象的getFullYear()方法
      const selectedYear = date.getFullYear();
      // 方法2:如果用dayjs适配器,也可以直接调用year()方法
      // const selectedYear = date.year();
      console.log(selectedYear);
    }
  };

  return (
    <LocalizationProvider dateAdapter={AdapterDayjs}>
      <DatePicker
        views={["year"]}
        onChange={handleYearSelect}
        label="选择年份"
      />
    </LocalizationProvider>
  );
}

关键说明

  • 先确保项目中已安装并正确引入Material UI日期选择器的依赖包(包括本地化组件和对应的日期适配器,比如@mui/x-date-pickers、dayjs等)
  • 在onChange回调中先判断date不为空(避免取消选择时出现报错),再通过getFullYear()(原生Date)或year()(dayjs)提取四位数字的年份,直接打印即可。

内容的提问来源于stack exchange,提问作者H.W.K. Aravinda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 05:52:01