2013-06-27 37 views
1

我在extjs 3.4中使用了网格,并且网格中有一个包含日期的列。 现在我想在网格中显示它之前更改日期格式。 对于此,我使用以下的代码两种方式日期渲染器给出与输入日期不同的日期

asm_profile_date_format = '缩略词,Y'

column = new Ext.grid.Column({ 
          header : map['label'], 
          sortable : true, 
          dataIndex : map['name'], 
          renderer :Ext.util.Format.dateRenderer(asm_profile_date_format) 
         }); 

renderer : function(value) 
       { 
        if(value == null) 
          return ' ' 
        else 
        { 
          return value.format(asm_profile_date_format);; 
        } 
       } 

在这里,我得到值/输入日期是19/6/2013,但我得到的渲染器的日期是Jul 6,2014

+0

你在找什么格式? – Hariharan

+0

@Hariharan格式“2014年6月6日”。但是这里的输入是2013年6月19日,渲染器的输出日期是2014年7月6日。格式正确,输出日期与输入日期不同。 –

+0

告诉我正确的输入格式,无论是19/6/2013还是2013年6月19日? – Hariharan

回答

0

我尝试过不同的组合,但无法做到。根本原因是,它将日期转换成月份(19 = 12 + 7),这意味着12到1年和7月到7月。我们需要手动转换并显示给用户。

还有一件事我喜欢建议,以不同的格式从后端输入值。尝试以日期格式返回,这将解决您的问题。

+0

非常感谢您的建议。格式化之前,我们首先使用parseDate(日期,格式)将日期解析为我们所需的格式,然后格式化解析日期。现在它正在给我们想要的正确输出。 –