AngularJS UI-Grid日期格式化

21

我试图改变日期的显示方式。数据以字符串格式提供,格式为“Sun May 03 18:04:41 2009”。

我查看了一些示例,它们建议我使用:

$scope.gridOptions = {
  data: 'mydata',
  enableRowSelection: true,
  multiSelect: false,
  enableColumnResize: true,
  columnDefs: [
    { field: 'startDate', displayName: 'Date', cellFilter: 'date:\'yyyy-MM-dd\'' }]
};

然而这对我并没有起作用。数据仍然按原样显示,而不是"2009-05-13"。我做错了什么吗?提前致谢!


尝试使用此 cellFilter: 'date:"yyyy-MM-dd\"' - Pankaj Parkar
谢谢帮忙,但还是没有解决问题。 - myTD
3个回答

50

用法: 类型:'date', cellFilter: 'date:\'MM/dd/yyyy\''

$scope.gridOptions = {
data: 'mydata',
enableRowSelection: true,
multiSelect: false,
enableColumnResize: true,
columnDefs: [
{ field: 'startDate', displayName: 'Date',type: 'date', cellFilter: 'date:\'yyyy-MM-dd\'' }]};

在cellFilter中,我们可以添加自定义过滤器函数吗? - Anita Mehta
@AnitaMehta 是的,您可以添加自定义单元格过滤器函数。 - Pratik Bhat
类型日期在编辑模式下显示一个日期选择器,但值不绑定,而是显示占位符mm/dd/yyyy。 - Adeel Shekhani

11

看起来您正在尝试使用与Angular日期过滤器不兼容的日期格式。文档指出,它需要是一个日期对象、毫秒数或ISO 8601日期。由于您的日期字符串不符合这些要求,您需要编写自己的字符串格式化程序,或在将该值传递给日期过滤器之前将其转换为日期对象或毫秒数。


2

Use cellFilter: 'date:"longDate"'

columnDefs: [
         { name: "ID", displayName: "ID"},
         { name: "Date", displayName: "Date", cellFilter: 'date:"longDate"'},

现在的格式似乎是 cellFilter: 'date:longdate' - kiev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接