You need to enable JavaScript to run this app. ReactJS中date.getDate is not a function报错及日期格式转换咨询
优惠活动
大模型
产品
解决方案
定价
更多

ReactJS中date.getDate is not a function报错及日期格式转换咨询

问题原因

你调用getDate()等日期方法的前提是传入值为JavaScript Date对象,但你用的日期选择器返回的是YYYY-MM-DD格式的字符串,本身没有日期实例的方法,所以会抛出类型错误。

修复方案

第一步:修改日期转换函数

先将传入的字符串转换为Date实例,同时优化补零逻辑,保证日、月都是两位格式:

convertDateFormat(dateStr) {
  // 先把字符串转成Date对象
  const date = new Date(dateStr);
  // 处理无效日期的边界情况,避免返回异常内容
  if (isNaN(date.getTime())) return '';
  // 补零逻辑,保证日、月不足两位时前面补0
  const day = String(date.getDate()).padStart(2, '0');
  const month = String(date.getMonth() + 1).padStart(2, '0');
  const year = date.getFullYear();
  return `${day}/${month}/${year}`;
}

如果需要兼容低版本浏览器,可替换Date初始化逻辑,避免部分浏览器对YYYY-MM-DD格式解析异常:

const date = new Date(dateStr.replace(/-/g, '/'));

第二步:调用逻辑保持不变

原有的dispatch代码无需改动,直接传入日期选择器返回的字符串即可:

dispatch(Order(convertDateFormat(inputs.datePickerdate)));
可选优化

如果你的日期选择器支持直接返回Date对象,可以在选择器的配置项中开启该功能,就不需要额外做字符串转Date的操作。

内容的提问来源于stack exchange,提问作者user6517334

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 23:06:08