【问题标题】:How to convert date format(Fri Jun 22 2018 14:37:47 GMT+0530 (India Standard Time)) to DD-MM-YYYY如何将日期格式(2018 年 6 月 22 日星期五 14:37:47 GMT+0530(印度标准时间))转换为 DD-MM-YYYY
【发布时间】:2018-12-01 17:42:23
【问题描述】:

我正在使用 material-ui/DatePicker 我正在获取完整格式的日期 我只需要 DD-MM-YYYY

import DatePicker from 'material-ui/DatePicker';

日期选择器组件

<DatePicker
   hintText=""
   formatDate={(date) => moment(date).format('DD-MM-YYYY')}
   value={this.state.contractDate}
   onChange={this.handleContractDateChange}
  />

更改功能如下所示

handleContractDateChange = (event, date) => {
    this.setState({
              contractDate: date,
            });

          }

【问题讨论】:

标签: javascript reactjs datepicker material-ui


【解决方案1】:

有一种方法可以将 JS 日期对象转换为 DD-MM-YYYY,如下所示

function formatDate(oDate) {
    var oTempDate = new Date(oDate),
        sMonth = '' + (oTempDate.getMonth() + 1),
        sDay = '' + oTempDate.getDate(),
        iYear = oTempDate.getFullYear();

        if (sMonth.length < 2) { sMonth = '0' + sMonth; }
        if (sDay.length < 2) { sDay = '0' + sDay; }

        return [sDay, sMonth, iYear].join('-');
}

【讨论】:

    【解决方案2】:

    根据我在文档 (https://v0.material-ui.com/#/components/date-picker) 中看到的内容,formatDate 仅用于格式化在选择日期后显示在字段中的日期选择器的值。您的 onChange 处理程序仍会使用日期对象调用。您必须在 onChange 处理程序中再次调用 moment.format()

    handleContractDateChange = (event, date) => {
      const formattedDate = moment(date).format('DD-MM-YYYY');
      // Use formattedDate
    
      this.setState({
        contractDate: date,
      });
    }

    【讨论】:

    • UI 中没有填充日期,
    • 它正在格式化,但 UI 中没有填充日期
    • 这根本不是正确答案。 momentjs 支持DD-MM-YYYY 格式。如果你运行它,它会在console logs 中显示警告
    【解决方案3】:

    使用纯 JavaScript 执行如下操作:

    let date = new Date("Fri Jun 22 2018 14:37:47 GMT+0530 (India Standard Time)");
    
    let dd = date.getDate();
    let mm = date.getMonth() + 1;
    let yyyy = date.getFullYear();
    
    console.log(dd + "-" + mm + "-" + yyyy);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-21
      • 2016-10-05
      • 2011-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      相关资源
      最近更新 更多