私は、Ag GirdをAngular 2.に実装しています。しかし、私の入力は文字列です。dateStringの形式は2017-01-19です。
let myDate:Date = moment(dateString).toDate();
しかし、Thu Jan 19 2017 00:00 Indian Standard Timeとして出力されます。私もこのようにしてみました
let myDate:Date = moment(dateString).format("DD/MM/YYYY");
これにより、エラー文字列が日付に割り当てられません。
このように試してみました
let myDate:Date = moment(dateString,"DD/MM/YYYY");
しかし、運はありません。私が欲しいのは、日付としての出力のタイプと19-01-2017の形式です
提案してください
これを試して:
let myDate:Date = moment(dateString、 "YYYY-MM-DD")。format( "DD-MM-YYYY");
基本的に、moment()
を呼び出すときは、現在の日付の形式を指定する必要があります。not希望する出力形式です。 .format()
を呼び出すときに、出力形式を指定する必要があります。
列定義で 列レンダラーフレームワーク を利用するようにしてください。フィールドdate
はJavaScriptの日付である必要があります。これはnew Date("2017.02.28")
を介して文字列から生成できます。ここでモーメントを使用する必要はありません。
{
colId: "date",
headerName: "Date",
field: "date",
cellRendererFramework: GridDateComponent,
}
このコンポーネントは、並べ替えなどのために元のJSDateを保持しながら、date
パイプを利用する方法でフォーマットされた日付を表示します。
import { Component } from '@angular/core';
import { AgRendererComponent } from 'ag-grid-ng2/main';
@Component({
selector: 'date-cell',
template: `{{params.value | date:'d MMM'}}`
})
export class GridDateComponent implements AgRendererComponent {
public params: any;
agInit(params: any): void {
this.params = params;
}
}