在我的应用程序中,我使用momemt类型的$ scope变量。
我使用Angular Materialjs中的md-datepicker
在ng-model上更改日期变量。
md-datepicker
仅适用于日期类型,我可以随时将其转换,但是在通过md-datepicker
$scope
变量更改数据后,类型将从Moment更改为Date。
如何将结果md-datepicker
转换为日期类型?
这需要在其他使用力矩的功能中使用。
<md-datepicker ng-model="momentfrom" md-open-on-focus="true" name="dateFrom" >
</md-datepicker>
使用momentfrom
后的md-datepicker
变量将类型更改为Date,需要将其转换为矩。
app.config(['$mdDateLocaleProvider', function ($mdDateLocaleProvider) {
$mdDateLocaleProvider.parseDate = function(dateString) {
var m = moment(dateString, ["DD.MM.YYYY"],true);
return m.isValid() ? m.toDate() : new Date(NaN);
};
$mdDateLocaleProvider.formatDate = function (date) {
return date ? moment(date).format('DD.MM.YYYY') : '';
};
}]);
答案 0 :(得分:0)
您为moment
设置的格式是错误的。在formatDate函数中使用它:
return moment(date).format('YYYY-MM-DD');
如果要在加载时将日期设置为空,则使用change返回此值:
return date ? moment(date).format('YYYY-MM-DD') : '';
有关$mdDateLocaleProvider
功能的更多信息,请参考AngularJS Material docs。