Cómo formatear la fecha en angularjs

Quiero formatear la fecha como mm/dd/yyyy . Intenté lo siguiente y nada de eso me funciona. Puede alguien ayudarme con esto?

referencia: ui-date

   

Angular.js tiene un filtro de fecha incorporado.

manifestación

 // in your controller: $scope.date = '20140313T00:00:00'; // in your view, date property, filtered with date filter and format 'MM/dd/yyyy' 

// produces 03/13/2014

Puede ver los formatos de fecha admitidos en la fuente del filtro de fecha .

editar :

Si está tratando de obtener el formato correcto en el datepicker (no está claro si está usando datepicker o simplemente está tratando de usar su formateador), las cadenas de formato compatibles están aquí: https://api.jqueryui.com/datepicker/

Si no tiene un campo de entrada, solo desea mostrar una fecha de cadena con un formato adecuado, puede simplemente hacer lo siguiente:

  

y en el archivo js use:

  // @Function // Description : Triggered while displaying expiry date $scope.formatDate = function(date){ var dateOut = new Date(date); return dateOut; }; 

Esto convertirá la fecha en cadena en un nuevo objeto de fecha en javascript y mostrará la fecha en formato MM / dd / aaaa.

Salida: 15/12/2014

Editar
Si está utilizando una fecha de cadena de formato de cadena “2014-12-19 20:00:00” (pasada desde un backend de PHP), entonces debe modificar el código al de: https://stackoverflow.com/ a / 27616348/1904479

Añadiendo más
Desde javascript puede establecer el código como:

 $scope.eqpCustFields[i].Value = $filter('date')(new Date(dateValue),'yyyy-MM-dd'); 

es decir, si ya tiene una cita, de lo contrario puede usar el siguiente código para obtener la fecha actual del sistema:

 $scope.eqpCustFields[i].Value = $filter('date')(new Date(),'yyyy-MM-dd'); 

Para obtener más información sobre los formatos de fecha, consulte: https://docs.angularjs.org/api/ng/filter/date

Estoy usando esto y está funcionando bien.

 {{1288323623006 | date:'medium'}}: Oct 29, 2010 9:10:23 AM {{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}: 2010-10-29 09:10:23 +0530 {{1288323623006 | date:'MM/dd/yyyy @ h:mma'}}: 10/29/2010 @ 9:10AM {{1288323623006 | date:"MM/dd/yyyy 'at' h:mma"}}: 10/29/2010 at 9:10AM 

Esto no es exactamente lo que estás pidiendo, pero podrías intentar crear un campo de entrada de fecha en html algo así como:

  

Luego, imprima esto en la página que usaría:

  

Finalmente, en mi controlador, declaré un método que crea una fecha a partir del valor de entrada (que en chrome aparentemente se analiza un día):

 $scope.convertToDate = function (stringDate){ var dateOut = new Date(stringDate); dateOut.setDate(dateOut.getDate() + 1); return dateOut; }; 

Entonces ahí lo tienes. Para ver todo funcionando, consulta el siguiente plunker: http://plnkr.co/edit/8MVoXNaIDW59kQnfpaWW?p=preview . ¡Mucha suerte!

Esto funcionará:

 {{ oD.OrderDate.replace('/Date(','').replace(')/','') | date:"MM/dd/yyyy" }} 

NOTA: una vez que reemplace estos, la fecha / millis restante se convertirá en formato dado.

ver date angular api: AngularJS API: fecha


El filtro de date angular:

Uso:

 {{ date_expression | date [: 'format'] [: 'timezone' ] }} 

Exampe:

Código:

  {{ '1288323623006' | date:'MM/dd/yyyy' }} 

Resultado:

 10/29/2010 

Simplemente pase el formato de fecha UTC desde el código del lado del servidor al lado del cliente

y usa la syntax debajo –

  {{dateUTCField +'Z' | date : 'mm/dd/yyyy'}} eg dateUTCField = '2018-01-09T10:02:32.273' then it display like 01/09/2018 

Después de ver todas las soluciones anteriores, la siguiente fue la solución más rápida para mí. Si está utilizando material angular:

   

Para establecer el formato:

 app.config(function($mdDateLocaleProvider) { $mdDateLocaleProvider.formatDate = function(date) { // Requires Moment.js OR enter your own formatting code here.... return moment(date).format('DD-MM-YYYY'); }; }); 

Editar: también necesita establecer el parseDate para escribir una fecha (de esta respuesta Cambiar el formato de md-datepicker en Angular Material )

 $mdDateLocaleProvider.parseDate = function(dateString) { var m = moment(dateString, 'DD/MM/YYYY', true); return m.isValid() ? m.toDate() : new Date(NaN); }; 

Ok, el problema parece venir de esta línea:
https://github.com/angular-ui/ui-date/blob/master/src/date.js#L106 .

En realidad, esta línea es el enlace con jQuery UI, que debería ser el lugar para inyectar el formato de datos.

Como puede ver en var opts no existe una propiedad dateFormat con el valor de ng-date-format como podría espect.

De todos modos, la directiva tiene una constante llamada uiDateConfig para agregar propiedades a opts .

La solución flexible (recomendada):

Desde aquí puede ver que puede insertar algunas opciones para inyectar en la directiva una variable de controlador con las opciones de jquery ui.

  myAppModule.controller('MyController', function($scope) { $scope.dateOptions = { dateFormat: "dd-M-yy" }; }); 

La solución codificada:

Si no desea repetir este procedimiento, cambie todo el tiempo el valor de uiDateConfig en date.js a:

 .constant('uiDateConfig', { dateFormat: "dd-M-yy" }) 

Tuve el mismo problema y los comentarios anteriores, pensé que debe haber un método nativo en JavaScript. La cosa es new Date(valueofdate) devuelve un objeto Fecha.

Pero, consulte http://www.w3schools.com/js/js_date_formats.asp , la parte que dice cero inicial. Una fecha de un String, por ejemplo un eco de PHP, debe ser como:

 $valueofdate = date('Yn-j',strtotime('theStringFromQuery')); 

Esto pasará una cadena, por ejemplo: '1999-3-3' y JavaScript hará el análisis a un objeto con el formato correcto con

 $scope.valueofdate = new Date(valueofdate);   

Enlace a PHP para formatos de fecha: http://www.w3schools.com/php/func_date_date_format.asp .

ng-bind="reviewData.dateValue.replace('/Date(','').replace(')/','') | date:'MM/dd/yyyy'"

Use esto debería funcionar bien. 🙂 Los campos reviewData y dateValue pueden ser cambios según el parámetro que el rest se puede dejar igual

 var app=angular.module('myApp',[]); app.controller('myController',function($scope){ $scope.names = ['1288323623006','1388323623006']; }); 

Aquí el nombre del controlador es “myController” y el nombre de la aplicación es “myApp”.

 
  • {{x | date:'mm-dd-yyyy'}}

El resultado será el siguiente: – * 10-29-2010 * 01-03-2013

 // $scope.dateField="value" in ctrl