web-dev-qa-db-ja.com

typescriptで日付をフォーマットする方法はありますか?

Angular2(TypeScript)で新しいDate()を実行すると、GET-> DATEE Wed Jul 18 2018 2018 09:13:40 GMT + 0200

問題は、日付をJavaに送信したことですが、Javaはこの形式を許可していません。

Javaは、dd/mm/aaaaまたはaaaa/mm/ddのみを許可しますが、2018年7月18日水曜日09:13:40 GMT + 0200は許可しません。

Angular新しいフォーマットを作成しますが、常に文字列を取得しますが、クラスIn Java get Date。

let myDate: Date, myDay, myMonth, myYear;

myDate = new Date();
myDay  = myDate.setUTCFullYear;
console.log(myDay);
myDay  = myDate.toISOString;
console.log(myDay);
console.log(typeof(myDay));
console.log(new Date(myDay));

angularがデフォルトで提供しないライブラリ、たとえば「モーメント」をインストールできません。Ty

3
EduBw

Angularの DatePipe を使用できます。フォーマットするコンポーネントで:

追加

providers: [DatePipe]

次にコンストラクタに注入します

constructor(public datepipe: DatePipe){}

次に、コードで次のようにフォーマットできます

this.datepipe.transform(this.dueDate, 'yyyy/MM/dd')

フォーマットを「yyyy/MM/dd」から必要なものに変更します

25
Woworks

使用できます

new Date().toLocaleString() => "11/10/2016, 11:49:36 AM"

次に、string.sliceを使用して、必要な文字列の部分を取得します

1
Sujay

TypeScriptで日付をフォーマットする方法である最初の問題に答えるのではなく、この質問にもう少し詳しく答えたいと思います。

発生する問題は、TypeScriptが提供する日付を読み取れないことです。これに対する答えはnotで、TypeScriptで日付をフォーマットします。これは、フォーマットされた日付が文字列に変換されるため、文字列が得られるためです。代わりに、Javaで関数を使用して文字列日付自体を解析する必要があります。そうすると、日付変数ができます。

日付はalwaysをJavaへの応答として送信すると文字列に変換されます。これは、文字列、整数、ブール値ではないカスタム変数の場合です(応答がJSON形式であると想定)。

問題の解決策は、日付を送信し、SimpleDateFormat(format).parse(date)を使用して日付をフォーマットすることです。ここで、formatは目的のフォーマットであり、日付は日付の文字列表現です。

0
Roy vd Wijk