如何在Angular Kendo Grid中格式化日期

时间:2018-10-17 11:33:43

标签: kendo-grid angular-kendo

我正在使用Angular Kendo Grid,并且正在获取格式为

的服务器数据
if(Platform.OS === 'ios') {
//Render Back button
} 

但是我希望它以标准格式显示,不确定如何去做。我在网格列中应用了format ='{0:MM / dd / yyyy h:mm a}',但没有效果。不管要执行什么数据格式转换,我都需要在代码的客户端执行,即将服务器日期转换为javascript格式!

1900-01-01T00:00:00

3 个答案:

答案 0 :(得分:3)

尝试一下:

<kendo-grid-column field="dateField" width="220" title="Open Date">
    <ng-template kendoGridCellTemplate let-dataItem>
        {{dataItem.dateField | date: 'mm/dd/yyyy'}}
    </ng-template>
</kendo-grid-column>

您还可以使用angular Date Pipe

提供的简短格式或其他格式

答案 1 :(得分:1)

如果您有一个大项目,并且必须多次使用相同的格式,则可以使用指令。

这对于可用性非常重要,以防万一您决定更改使用的格式(维护)

TypeError: 'module' object is not callable

您可以像这样使用它

import { Directive, OnInit } from '@angular/core';
import { ColumnComponent } from '@progress/kendo-angular-grid';

@Directive({
  selector: '[kendo-grid-column-date-format]'
})
export class KendoGridColumnDateFormatDirective implements OnInit {
  constructor(private element: ColumnComponent) {
  }

  ngOnInit() {
    this.element.format = "{0:dd.MM.yyyy}";
  }  
}

超级重要不要忘记注册指令

答案 2 :(得分:0)

Grid数据需要包含实际的JavaScript Date对象,而不是某些字符串表示形式。然后,内置的格式,排序,过滤和编辑功能将按原样处理日期并按预期工作:

Docs

映射数据,使其包含实际日期。

示例:

String Date