[英]change the date format in a grid field ExtJS
简单的问题,但我不知道如何解决它。
我从 JSON 接收到一个带有小时的日期,格式如下:
"date_deb":"2013\/12\/28 23:00:00"
请注意, \\ 用于转义 / 并且不会显示。 我想以这种格式将此日期显示到我的网格中:
"28/12/2013 23:00:00"
我已经在我的字段定义中尝试过这个:
{name:'date_deb', type: 'date', dateFormat: 'd-m-Y H:i:s'}
但它不起作用,什么也没有显示。 通过检查 ExtJS 文档,我看到了这一点:
dateReadFormat
我正在使用 ExtJS4.2
在您的字段定义中提供从服务器返回的dateFormat
:
{name:'date_deb', type: 'date', dateFormat: 'Y/m/d H:i:s'}
然后在您的列配置中使用 ExtJS 的内置dateRenderer和您想要呈现日期的格式:
renderer: Ext.util.Format.dateRenderer('d/m/Y H:i:s')
如果您有需要不同日期格式的读取器(从服务器读取数据)和写入器(将修改后的数据发送回服务器),则只需要dateReadFormat
和dateWriteFormat
。 否则dateFormat
将作为两者的默认格式应用。
如果上述方法对您不起作用,请尝试在网格的“列”配置中添加 xtype: 'datecolumn'。
columns: [{
text : 'date',
dataIndex: 'LoginDateTime',
xtype: 'datecolumn',
format: 'Y-m-d g:i A',
}]
这应该有效。
使用此函数为网格呈现日期
在您的列定义中,将渲染器定义为
渲染器:renderDate
示例{ dataIndex: 'TaskEndDate', header: 'PlannedEndDate', flex: 1, renderer: renderDate },
function renderDate(value)
{
if (value == '' || value == undefined) {
return '';
}
else {
getDate = new Date(parseInt(value.substr(6)));
}
return Ext.util.Format.date(getDate, 'm-d-Y');
}
在您的列配置中使用“格式化程序”。
formatter: 'date("d/m/Y H:i:s")'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.