web-dev-qa-db-fra.com

formatage date angularjs ui-grid

J'essaie de changer la façon dont la date est affichée. les données arrivent sous forme de chaîne au format "dim 03 mai 18:04:41 2009"

j'ai regardé les exemples, et ils me demandaient d'utiliser

$scope.gridOptions = {
  data: 'mydata',
  enableRowSelection: true,
  multiSelect: false,
  enableColumnResize: true,
  columnDefs: [
    { field: 'startDate', displayName: 'Date', cellFilter: 'date:\'yyyy-MM-dd\'' }]
};

mais cela ne fonctionne pas pour moi. Les données sont toujours affichées telles quelles. Plutôt que "13/05/2009" Quelque chose que je fais mal? Merci d'avance!

20
myTD

Il semble que vous essayez d'utiliser un format de date incompatible avec le filtre de date angulaire . Les documents indiquent qu'il doit s'agir d'un objet Date, de millisecondes ou d'une date ISO 8601. Puisque votre chaîne de date ne correspond à rien de tout cela, vous devrez soit rouler votre propre formateur de chaîne, soit convertir cette valeur en objet Date ou en millisecondes avant de la passer au filtre de date.

11
Matthew Green

Utilisation: tapez: 'date', cellFilter: 'date: \' MM/dd/yyyy\''

$scope.gridOptions = {
data: 'mydata',
enableRowSelection: true,
multiSelect: false,
enableColumnResize: true,
columnDefs: [
{ field: 'startDate', displayName: 'Date',type: 'date', cellFilter: 'date:\'yyyy-MM-dd\'' }]};
49
vvardhanz

Utilisation cellFilter: 'date:"longDate"'

columnDefs: [
         { name: "ID", displayName: "ID"},
         { name: "Date", displayName: "Date", cellFilter: 'date:"longDate"'},
1