AngularJS – 在控制器中转换日期

前端之家收集整理的这篇文章主要介绍了AngularJS – 在控制器中转换日期前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
你能建议我如何转换日期从这个1387843200000到这个24/12/2013在我的控制器?

只是FYI我的日期以这种方式存储,当绑定到编辑表单时,输入type =“date”字段未填充。

#Plunker demo here.

编辑控制

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 – 模板

<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。

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

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

猜你在找的Angularjs相关文章