AngularJS – convierte las fechas en el controlador

¿Alguien podría sugerirme cómo convertir la fecha de este formato 1387843200000 a este 24/12/2013 dentro de mi controlador ?

Solo para tu información, mis fechas se almacenan de esta manera y cuando se vincula a la forma de edición con input type="date" campo input type="date" no se está rellenando.

#Plunker demo aquí.

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 – plantilla

 
Cancel

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

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

    Pero si usa HTML5 type = “date”, entonces DEBE usarse el formato ISO aaaa-MM-dd.

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

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

    NOTA: el uso de pattern = “” con type = “date” parece no estándar, pero parece funcionar de la manera esperada en Chrome 31.

    crea un filter.js y puedes hacer esto como reutilizable

     angular.module('yourmodule').filter('date', function($filter) { return function(input) { if(input == null){ return ""; } var _date = $filter('date')(new Date(input), 'dd/MM/yyyy'); return _date.toUpperCase(); }; }); 

    ver

     {{ d.time | date }} 

    o en el controlador

     var filterdatetime = $filter('date')( yourdate ); 

    Fecha de filtrado y formateo en jus angular

    Todas las soluciones aquí no vinculan realmente el modelo con la entrada porque tendrá que volver a cambiar la dateAsString para guardarse como date en su objeto (en el controlador después de que se dateAsString el formulario).

    Si no necesita el efecto vinculante, solo para mostrarlo en la entrada,

    un simple podría ser:

      

    Luego, si lo desea, en el controlador, puede guardar la fecha editada de esta manera:

      $scope.item.date = new Date(document.getElementById('item_date').value).getTime(); 

    tenga en cuenta: en su controlador, debe declarar su variable de item como $scope.item para que esto funcione.

    sugiero en Javascript:

     var item=1387843200000; var date1=new Date(item); 

    y luego date1 es una Fecha.