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

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

问题描述

可以请你建议我如何转换日期从这个 1387843200000 这个 24/12/2013 我的控制器内

仅供参考我的日期都存储在这种方式和放大器;结合编辑与 INPUT TYPE =约会的形式时字段并不是在所有的填充。

#Plunker演示这里

EditCtrl

  app.controller(EditCtrl,[$范围,$过滤器,分贝功能($范围,$过滤器,DB){    //这让我的项目对象
    VAR项目= db.readItem();    //项日期= 1387843200000
    //这个返回undefined
    item.date = $过滤器('日期')(日期[item.date,DD / MM / YYYY]);}]);

Edit.html - 模板

 <表格名称=editForm级=表单验证>        < D​​IV CLASS =表单组>
            <标签=约会方式>活动日期< /标签>
            <输入类型=日期级=表格控NG模型=event.dateID =所需的日期/>
        < / DIV>        < A HREF =#/级=BTN BTN-危险>取消< / A>
        <按钮ID =的addEvent级=BTN BTN-主要拉右NG残疾=isClean()|| editForm $无效。NG点击=saveEvent()方式>保存事件< /按钮>    < /表及GT;


解决方案

  item.date = $过滤器('日期')(item.date,DD / MM / YYYY) ; //转换为字符串

<一个href=\"http://docs.angularjs.org/api/ng.filter:date\">http://docs.angularjs.org/api/ng.filter:date

但是,如果您使用的是HTML5型则必须使用ISO格式YYYY-MM-DD =日期。

  item.dateAsString = $过滤器('日期')(item.date,YYYY-MM-DD); //用于type =DATE结合
&LT;输入类型=日期NG模型=item.dateAsStringVALUE ={{item.dateAsString}}模式=DD / MM / YYYY/&GT;

<一个href=\"http://www.w3.org/TR/html-markup/input.date.html\">http://www.w3.org/TR/html-markup/input.date.html

请注意:使用模式=类型=日期看起来不标准,但它似乎在预期的工作方式在Chrome 31

Can you please suggestion me how to convert date from this 1387843200000 into this 24/12/2013 inside my controller?

Just FYI my dates are stored in this way & when binding to edit form with input type="date" field is not being populated at all.

#Plunker demo here.

EditCtrl

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

<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

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-markup/input.date.html

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天全站免登陆