简单的问题,但我无法弄清楚如何解决它。
我收到了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
答案 0 :(得分:8)
在您的字段定义中提供从服务器返回的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')
如果您有一个阅读器(从服务器读取数据) AND 一个编写器(将修改后的数据发送回服务器),您只需要dateReadFormat
和dateWriteFormat
需要不同的日期格式。否则dateFormat
将作为两者的默认格式。
答案 1 :(得分:0)
使用此功能渲染网格的日期
在列定义中将渲染器定义为此
渲染器: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');
}
答案 2 :(得分:0)
在您的列配置中使用“格式化程序”。
formatter: 'date("d/m/Y H:i:s")'