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

Javascript 如何将日期格式(2018年6月22日星期五14:37:47 GMT&x2B;0530(印度标准时间))转换为DD-MM-YYYY,javascript,reactjs,datepicker,material-ui,Javascript,Reactjs,Datepicker,Material Ui,我正在使用materialui/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={

我正在使用
materialui/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}
  />

使用纯JavaScript执行以下操作:

let date=新日期(“2018年6月22日星期五14:37:47 GMT+0530(印度标准时间)”;
设dd=date.getDate();
设mm=date.getMonth()+1;
设yyyy=date.getFullYear();

控制台日志(dd+“-”+mm+“-”+yyyy)使用纯JavaScript执行以下操作:

let date=新日期(“2018年6月22日星期五14:37:47 GMT+0530(印度标准时间)”;
设dd=date.getDate();
设mm=date.getMonth()+1;
设yyyy=date.getFullYear();

控制台日志(dd+“-”+mm+“-”+yyyy)有一种将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('-');
}
函数格式化日期(oDate){
var oTempDate=新日期(oDate),
sMonth=''+(oTempDate.getMonth()+1),
sDay=''+oTempDate.getDate(),
iYear=oTempDate.getFullYear();
如果(sMonth.length<2){sMonth='0'+sMonth;}
如果(sDay.length<2){sDay='0'+sDay;}
return[sDay,sMonth,iYear]。加入('-');
}

有一种将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('-');
}
函数格式化日期(oDate){
var oTempDate=新日期(oDate),
sMonth=''+(oTempDate.getMonth()+1),
sDay=''+oTempDate.getDate(),
iYear=oTempDate.getFullYear();
如果(sMonth.length<2){sMonth='0'+sMonth;}
如果(sDay.length<2){sDay='0'+sDay;}
return[sDay,sMonth,iYear]。加入('-');
}

根据我在文档()中看到的内容,prop
formattate
仅用于格式化日期选择器的值,该值在选择日期后显示在字段中。您的
onChange
处理程序仍然会被日期对象调用。您必须在onChange处理程序中再次调用
矩.format()

handleContractDateChange=(事件,日期)=>{
const formattedDate=时刻(日期)。格式('DD-MM-YYYY');
//使用格式化日期
这是我的国家({
合同日期:年月日,
});

}
根据我在文档()中看到的内容,prop
formattate
仅用于格式化日期选择器的值,该值在选择日期后显示在字段中。您的
onChange
处理程序仍然会被日期对象调用。您必须在onChange处理程序中再次调用
矩.format()

handleContractDateChange=(事件,日期)=>{
const formattedDate=时刻(日期)。格式('DD-MM-YYYY');
//使用格式化日期
这是我的国家({
合同日期:年月日,
});

}
UI中没有填充日期的可能副本,它正在格式化,但UIT中没有填充日期。这根本不是正确答案。momentjs不支持
DD-MM-YYYY
格式。如果您要运行,它将在
控制台日志中向您显示警告
日期未在UI中填充,正在格式化,但日期未在UI中填充这根本不是正确答案。momentjs不支持
DD-MM-YYYY
格式。如果您要运行,它将在
控制台日志中显示警告