如何将日期格式(2018年6月22日星期五14:37:47 GMT + 0530(印度标准时间))转换为DD-MM-YYYY

时间:2018-06-22 09:16:49

标签: javascript reactjs datepicker material-ui

我正在使用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,
            });

          }

3 个答案:

答案 0 :(得分:0)

使用纯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);

答案 1 :(得分:0)

有一种将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 :(得分:0)

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

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

  this.setState({
    contractDate: date,
  });
}