web-dev-qa-db-fra.com

comment convertir la date du jour au format AAAA-MM-JJ avec angulaire 2

j'utilise cette ligne pour obtenir la date du jour 

public current_date=new Date();

et j'ai ce résultat:

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

comment puis-je transformer cela à ce format 

AAAA-MM-JJ

9
user3237201

Exemple selon doc

@Component({
  selector: 'date-pipe',
  template: `<div>
    <p>Today is {{today | date}}</p>
    <p>Or if you prefer, {{today | date:'fullDate'}}</p>
    <p>The time is {{today | date:'jmZ'}}</p>
  </div>`
})
export class DatePipeComponent {
  today: number = Date.now();
}

Modèle

{{ dateObj | date }}               // output is 'Jun 15, 2015'
{{ dateObj | date:'medium' }}      // output is 'Jun 15, 2015, 9:43:11 PM'
{{ dateObj | date:'shortTime' }}   // output is '9:43 PM'
{{ dateObj | date:'mmss' }}        // output is '43:11'
{{dateObj  | date: 'dd/MM/yyyy'}} // 15/06/2015

À 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'); //whatever format you need. 
  }
}

Dans votre app.module.ts

providers: [DatePipe,...] 

tout ce que vous avez à faire est d’utiliser ce service maintenant. 

23
Parth Ghiya

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

17
Jayantha

Essayez ce code ci-dessous il fonctionne aussi bien dans angular 2

<span>{{current_date | date: 'yyyy-MM-dd'}}</span>
1
Ramesh Rajendran

Voici une manière très agréable et compacte de procéder. 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; //because January is 0! 
    var yyyy = today.getFullYear();
    //Interpolation date
    if (dd < 10) {
        returnDate += `0${dd}.`;
    } else {
        returnDate += `${dd}.`;
    }

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

Ajoutez le modèle et donnez le canal de date, vous devez utiliser des caractères d'échappement pour le format de la date. Vous pouvez donner le format de votre choix comme "MM-aaaa-jj", etc.

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