web-dev-qa-db-ja.com

日付をangular 2のこの「yyyy-MM-dd」形式に変換する方法

現在のデータを.tsファイルの'yyyy-MM-dd'形式に変換したい。テンプレートは、データパイプを使用して簡単に実行できます。 TypeScriptでそれを行う方法。

テンプレート内:

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

TypeScriptでこの形式'yyyy-MM-dd'に変換する方法

今、私はこれを使用して現在の日付を取得しています。

this.date =  new Date();

ただし、指定された形式に変換する必要があります。それを行う方法を教えてください...ありがとう!

30
Umar Rasheed

Datepipeを使用して、日付をTypeScriptでこの形式'yyyy-MM-dd'に変換できます。

import { DatePipe } from '@angular/common'
...
constructor(public datepipe: DatePipe){}
...
myFunction(){
 this.date=new Date();
 let latest_date =this.datepipe.transform(this.date, 'yyyy-MM-dd');
}

app.module.tsの「providers」配列にDatepipeを追加するだけです。このような:

import { DatePipe } from '@angular/common'
...
providers: [DatePipe]
88
Umar Rasheed

簡単な解決策は、単に書くことです

this.date = new Date().toLocaleDateString();

日付.toLocaleDateString()時間.toLocaleTimeString()両方.toLocaleString()

お役に立てれば。

5
ahmed hamed

これも試すことができます

今日の日付を考慮'28 Dec 2018'(たとえば)

 this.date = new Date().toISOString().slice(0,10); 

新しいDate()は次のようになります:Fri Dec 28 2018 11:44:33 GMT + 0530(インド標準時)

toISOStringは、2018-12-28T06:15:27.479Zに変換されます

slice(0,10)yyyy-mm-ddを含む日付として最初の10文字のみを取得します:2018-12-28。

3
Tina

Angularに問題がある場合は、 Moment.js を確認することをお勧めします。少なくとも、あまり時間をかけずに簡単に回避できます。

0
redbear