アンギュラー2で現在の日付をYYYY-MM-DD形式に変換する方法

この行で現在の日付を取得しています。

public current_date=new Date();

で、このような結果になりました。

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

どのようにしてこのフォーマットに変換することができますか?

YYYY-MM-DD

ドキュメントに沿った例

@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();
}

テンプレート

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

コンポーネントで使用する

@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. 
  }
}

app.module.tsで

providers: [DatePipe,...] 

これで、このサービスを利用することができます。

解説 (3)

以下のコードを試してみてください。これは angular 2 でもうまく機能します。

<span>{{current_date | date: 'yyyy-MM-dd'}}</span>
解説 (5)

この機能は、ケースに応じて変更することもできます。

結果:2017.11.03)

//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;
}
解説 (0)