Comment formater la date en angularjs

Je veux formater la date en mm/dd/yyyy . J’ai essayé ce qui suit et rien ne fonctionne pour moi. Est-ce que quelqu’un peut m’aider avec ça?

référence: ui-date

   

Angular.js a un filtre de date intégré.

démo

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

Vous pouvez voir les formats de date pris en charge dans la source pour le filtre de date .

éditer :

Si vous essayez d’obtenir le format correct dans le facteur de date (pas clair si vous utilisez datepicker ou que vous essayez simplement d’utiliser son formateur), les chaînes de format sockets en charge sont ici: https://api.jqueryui.com/datepicker/

Si vous ne possédez pas de champ de saisie, si vous souhaitez simplement afficher une date de chaîne avec un format correct, vous pouvez simplement opter pour:

  

et dans le fichier js, utilisez:

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

Cela convertira la date en chaîne en un nouvel object de date en javascript et affichera la date au format MM / jj / aaaa.

Sortie: 15/12/2014

modifier
Si vous utilisez une date de chaîne au format “2014-12-19 20:00:00”, format de chaîne (passé depuis un backend PHP), vous devez alors modifier le code dans celui-ci: https://stackoverflow.com/ a / 27616348/1904479

Ajout de plus
À partir de JavaScript, vous pouvez définir le code comme suit:

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

c’est dans le cas où vous avez déjà une date avec vous, sinon vous pouvez utiliser le code suivant pour obtenir la date système actuelle:

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

Pour plus de détails sur les formats de date, reportez-vous à: https://docs.angularjs.org/api/ng/filter/date

J’utilise ceci et ça marche très 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 

Ce n’est pas exactement ce que vous demandez – mais vous pouvez essayer de créer un champ de saisie de date en HTML, par exemple:

  

Ensuite, pour imprimer ceci sur la page que vous utiliseriez:

  

Enfin, dans mon contrôleur, j’ai déclaré une méthode qui crée une date à partir de la valeur d’entrée (qui, en chrome, est apparemment analysée avec un jour de congé):

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

Alors voilà Pour voir tout cela, consultez le plunker suivant: http://plnkr.co/edit/8MVoXNaIDW59kQnfpaWW?p=preview .

Cela fonctionnera:

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

NOTE: une fois que vous les avez remplacés, la date / millis restante sera convertie en foramt donné.

voir date angular api: AngularJS API: date


Le filtre angular – date :

Usage:

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

Exampe:

Code:

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

Résultat:

 10/29/2010 

Il suffit de transmettre le format de date UTC de votre code côté serveur au côté client

et utiliser la syntaxe ci-dessous –

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

Après avoir examiné toutes les solutions ci-dessus, voici la solution la plus rapide pour moi. Si vous utilisez un matériau angular:

   

Pour définir le format:

 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'); }; }); 

Edit: Vous devez également définir le parseDate pour saisir une date (à partir de cette réponse Modifier le format de md-datepicker dans Angular Material )

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

Ok le problème semble provenir de cette ligne:
https://github.com/angular-ui/ui-date/blob/master/src/date.js#L106 .

En fait, cette ligne est la liaison avec l’interface utilisateur de jQuery, qui devrait être l’endroit idéal pour injecter le format de données.

Comme vous pouvez le voir dans var opts dateFormat il n’y a pas de propriété dateFormat avec la valeur de ng-date-format comme vous pouvez vous en douter.

Quoi qu’il en soit, la directive a une constante appelée uiDateConfig pour append des propriétés à uiDateConfig .

La solution flexible (recommandée):

De là, vous pouvez voir que vous pouvez insérer des options en injectant dans la directive une variable de contrôleur avec les options de jquery ui.

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

La solution codée en dur:

Si vous ne voulez pas répéter cette procédure, changez la valeur de uiDateConfig dans date.js pour:

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

J’ai eu le même problème et comme les commentaires ci-dessus, j’ai pensé qu’il devait y avoir une méthode native en JavaScript. La chose est new Date(valueofdate) renvoie un object Date.

Mais, vérifiez dans http://www.w3schools.com/js/js_date_formats.asp , la partie qui indique zéro. Une date d’une chaîne, par exemple un écho de PHP, doit ressembler à:

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

Cela passera une chaîne, par exemple: '1999-3-3' et JavaScript effectuera l’parsing vers un object au format correct avec

 $scope.valueofdate = new Date(valueofdate);   

Lien vers PHP pour les formats de date: http://www.w3schools.com/php/func_date_date_format.asp .

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

Utilisez cela devrait bien fonctionner. 🙂 Les champs reviewData et dateValue peuvent être modifiés selon que votre paramètre rest peut être laissé identique

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

Ici, le nom du contrôleur est “myController” et le nom de l’application est “myApp”.

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

Le résultat ressemblera à ceci: – * 10-29-2010 * 01-03-2013

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