【问题标题】:AngularJS and input type = date, how to format model data?AngularJS和输入类型=日期,如何格式化模型数据?
【发布时间】:2015-02-05 05:47:18
【问题描述】:
我有以下表单输入,我正在尝试通过范围数据填充:
<input type="date" name="editCallForm.date" ng-model="editCallForm.date">
我尝试了几种日期格式的组合,例如:
moment($rootScope.formData.date).format('DD/mm/YYYY');
但没有运气(时间输入是否正常工作)。
这种输入的正确格式是什么?
感谢您的帮助。
【问题讨论】:
标签:
javascript
angularjs
html
date
input
【解决方案1】:
日期应该是javascript日期对象reference
这说
The model must always be a Date object,
所以
你的代码应该是
<input type="date" name="editCallForm.date" ng-model="editCallForm.date">
和
$scope.editCallForm.date = new Date(); // set to today
如果你想格式化这个日期,你可以按照 Ben 的回答,例如:
$scope.formattedDate = $filter('date')($scope.dateObj, "dd/MM/yyyy");
不要忘记在控制器中添加 $filter 依赖项
这是Demo Plunker,请查看
请注意此功能不适用于较旧的 Angular 版本。它的工作角度 1.3 及以后
请查看 angularjs 更改日志here中的重大更改
如果您需要在旧版本的 angularjs 中执行此操作,您可以使用 angular-ui bootstrap datepicker 之类的东西
这里是Demo Plunker