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