13 votes

Comment convertir la date actuelle au format AAAA-MM-JJ avec angular 2

J'utilise cette ligne pour obtenir la date actuelle

public current_date=new Date();

et j'ai obtenu ce résultat:

Wed Apr 26 2017 10:38:12 GMT+0100 (Afr. centrale Ouest)

comment puis-je transformer cela dans ce format

AAAA-MM-JJ

27voto

Parth Ghiya Points 4733

Exemple tel que dans le document

@Component({
  selector: 'date-pipe',
  template: `
    Aujourd'hui, c'est {{today | date}}
    Ou si vous préférez, {{today | date:'fullDate'}}
    Il est {{today | date:'jmZ'}}
  `
})
export class DatePipeComponent {
  today: number = Date.now();
}

Modèle

{{ dateObj | date }}               // résultat est '15 juin 2015'
{{ dateObj | date:'medium' }}      // résultat est '15 juin 2015, 21:43:11'
{{ dateObj | date:'shortTime' }}   // résultat est '21:43'
{{ dateObj | date:'mmss' }}        // résultat est '43:11'
{{dateObj  | date: 'dd/MM/yyyy'}} // 15/06/2015

Pour l'utiliser dans votre composant.

@Injectable()
import { DatePipe } from '@angular/common';
class MyService {

  constructor(private datePipe: DatePipe) {}

  transformDate(date) {
    this.datePipe.transform(myDate, 'yyyy-MM-dd'); //le format dont vous avez besoin.
  }
}

Dans votre app.module.ts

providers: [DatePipe,...] 

Tout ce que vous avez à faire est d'utiliser ce service maintenant.

22voto

Jayantha Points 463

Pour Angular 5

app.module.ts

import {DatePipe} from '@angular/common';
.
.
.
providers: [DatePipe]

demo.component.ts

import { DatePipe } from '@angular/common';
.
.
constructor(private datePipe: DatePipe) {}

ngOnInit() {
   var date = new Date();
   console.log(this.datePipe.transform(date,"yyyy-MM-dd")); //output : 2018-02-13
}

plus d'informations angular/datePipe

2voto

Essayez ce code ci-dessous, il fonctionne également bien en angular 2

{{current_date | date: 'yyyy-MM-dd'}}

2voto

Voici une façon très agréable et compacte de le faire, vous pouvez également modifier cette fonction selon vos besoins :

résultat : 03.11.2017

//get date now function
    getNowDate() {
    //return string
    var returnDate = "";
    //get datetime now
    var today = new Date();
    //split
    var dd = today.getDate();
    var mm = today.getMonth() + 1; //parce que janvier est à 0 ! 
    var yyyy = today.getFullYear();
    //Interpolation de la date
    if (dd < 10) {
        returnDate += `0${dd}.`;
    } else {
        returnDate += `${dd}.`;
    }

    if (mm < 10) {
        returnDate += `0${mm}.`;
    } else {
        returnDate += `${mm}.`;
    }
    returnDate += yyyy;
    return returnDate;
}

1voto

Ani Points 23

Ajoutez le template et donnez le pipe de date, vous devez utiliser des caractères d'échappement pour le format de la date. Vous pouvez donner n'importe quel format que vous voulez comme 'MM-yyyy-dd' etc.

template: '{{ current_date | date: \'yyyy-MM-dd\' }}',

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X