【问题标题】:React Datepicker How to format date from stringReact Datepicker如何从字符串格式化日期
【发布时间】:2019-10-22 08:05:59
【问题描述】:

我的目标很简单,在 react datepicker 中显示数据库中的日期。从我的数据库中,我得到了字符串"2019/10/26 15:05",但是当它设置为selected 时它返回了,

从 v2.0.0-beta.1 开始 date-fns 不接受字符串为 论据。请使用parseISO解析字符串

<DatePicker
dateFormat="dd-MM-yyyy HH:mm"
showTimeSelect
timeFormat="HH:mm"
timeIntervals={1}
selectsEnd
startDate={this.state.beginDate}
endDate={this.state.endDate}
selected={this.state.endDate}
onChange={this.selectEndDate} />

我也尝试了date-fnsparseISO,但它仍然无法正常工作。我该怎么办?

【问题讨论】:

  • 您究竟是如何尝试parseISO 的?您应该能够编写selected={parseISO(this.state.endDate)} 等。或者更好的是,首先在设置状态时使用 parseISO 以保持与接收Date 对象的selectEndDate 一致。

标签: reactjs react-datepicker


【解决方案1】:
Date.parse(this.state.endDate)

让它对我有用

【讨论】:

    【解决方案2】:
    handleChange =(selectedDate) =>{
        var selectedDateStr = moment(selectedDate).format('DD.MM.YYYY');
        this.props.input.onChange(selectedDateStr);
    }
    
    render() {
        const { input, meta: { touched, error, active } } = this.props;
        return (
            <div>
                <DatePicker
                    {...input}
                    className="datepicker form-control"
                    peekNextMonth
                    showMonthDropdown
                    onChange={selectedDate => this.handleChange(selectedDate)}
                    dateFormat="dd.MM.yyyy"
                    showYearDropdown
                    dropdownMode="select"
                />
                {touched && (!active && error &&
                    <div className="invalid-feedback d-block position-absolute">
                        test
                    </div>
                )}
            </div>
        );
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-25
      • 2012-12-30
      • 2013-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-30
      • 2019-11-16
      相关资源
      最近更新 更多