反应日期选择器 - 无效的时间值
Posted
技术标签:
【中文标题】反应日期选择器 - 无效的时间值【英文标题】:React datepicker - invalid time value 【发布时间】:2019-11-27 14:50:58 【问题描述】:我正在尝试创建一个 React-datepicker;但是,我收到此错误:
RangeError: 无效的时间值
我添加了一个 dateFormat 来匹配我的日期变量;但是,我仍然遇到同样的错误?
我做错了什么?
import DatePicker from "react-datepicker";
let date = moment(dateString).format('MMMM d, YYYY h:mm a'); // January 3, 2019 12:30 pm
<DatePicker
selected=date
onChange=this.handleInputChange
showTimeSelect
timeFormat="HH:mm"
timeIntervals=15
dateFormat="MMMM d, YYYY h:mm a"
timeCaption="time"
/>
我也试过 dateFormat="MMMM d, yyyy h:mm aa"。
【问题讨论】:
【参考方案1】:DatePicker
需要 Date
,而不是 moment
。你必须先转换它:
let date = moment(dateString).toDate();
来自 DatePicker docs:
在 1.8.0 版之前,此软件包使用 Moment.js。从 v2.0.0 开始,我们切换到使用原生 Date 对象来减小包的大小。如果您要从 1.8.0 切换到 2.0.0 或更高版本,请参阅上面的更新示例,查看示例站点以获取最新示例。
【讨论】:
谢谢。这正是我遇到的问题!【参考方案2】:在我的情况下,问题涉及在从数据库中提取 ISO 格式的日期后检查日期是否为空。
<DatePicker selected=initiated_Date ? new Date(initiated_Date) : null
【讨论】:
以上是关于反应日期选择器 - 无效的时间值的主要内容,如果未能解决你的问题,请参考以下文章