AngularJS - 在控制器中转换日期 [英] AngularJS - convert dates in controller

查看:24
本文介绍了AngularJS - 在控制器中转换日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人可以建议我如何将日期从这个 1387843200000 格式转换成这个 24/12/2013 在我的控制器内?

仅供参考,我的日期以这种方式存储&当根本没有填充 input type="date" 字段绑定到编辑表单时.

Could anyone please suggest me how to convert date from this 1387843200000 format into this 24/12/2013 inside my controller?

#Plunker 演示在这里.

编辑控件

EditCtrl

Edit.html - 模板

app.controller("EditCtrl", [ "$scope", "$filter", "db" function ($scope, $filter, db){ // this gets me an item object var item = db.readItem(); // item date = 1387843200000 // this returns undefined item.date = $filter('date')(date[ item.date, "dd/MM/yyyy"]); }]);

Edit.html - template 

<a href="#/" class="btn btn-danger ">取消</a><button id="addEvent" class="btn btn-primary pull-right" ng-disabled="isClean() || editForm.$invalid" ng-click="saveEvent()">保存事件.</按钮></表单>

<form name="editForm" class="form-validate"> <div class="form-group"> <label for="date">Event date.</label> <input type="date" class="form-control" ng-model="event.date" id="date" required /> </div> <a href="#/" class="btn btn-danger ">Cancel</a> <button id="addEvent" class="btn btn-primary pull-right" ng-disabled="isClean() || editForm.$invalid" ng-click="saveEvent()">Save event.</button> </form>

推荐答案

item.date = $filter('date')(item.date, "dd/MM/yyyy"); // for conversion to string

http://docs.angularjs.org/api/ng.filter:date

但如果您使用的是 HTML5 type="date",则必须使用 ISO 格式 yyyy-MM-dd.

But if you are using HTML5 type="date" then the ISO format yyyy-MM-dd MUST be used.

item.dateAsString = $filter('date')(item.date, "yyyy-MM-dd");  // for type="date" binding


<input type="date" ng-model="item.dateAsString" value="{{ item.dateAsString }}" pattern="dd/MM/YYYY"/>

http://www.w3.org/TR/html-标记/input.date.html

注意:使用 pattern="" 和 type="date" 看起来不标准,但它似乎在 Chrome 31 中以预期的方式工作.

NOTE: use of pattern="" with type="date" looks non-standard, but it appears to work in the expected way in Chrome 31.

这篇关于AngularJS - 在控制器中转换日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆