带有 extjs 4.1 问题的日期格式

Posted

技术标签:

【中文标题】带有 extjs 4.1 问题的日期格式【英文标题】:date format with extjs 4.1 issue 【发布时间】:2012-04-27 10:52:20 【问题描述】:

在我的模型(Ext.data.Model)中,我有以下属性


    mapping:'Created',
    name:'Created',
    type: 'date',
    format:'d/m/Y'
,

在我的表单上,我有以下字段

                    
                        xtype:'datefield',
                        name:'Created',
                        fieldLabel:' Date',
                        format:'d/m/Y',
                        width: 350
                    ,

如果我在选择器“01/04/2012”中选择以下日期(我在英国,2012 年 4 月 1 日)

我在 firebug json 帖子“2012-01-04T00:00:00”(2012 年 1 月 4 日)中得到以下信息

我如何确保正确的区域通过

【问题讨论】:

【参考方案1】:

在您的模型中定义 Ext.data.Field。 查看 API 文档,Ext.data.Field 没有名为 format 的配置,而是 dateFormat

试试这个


    name:'Created',
    type: 'date',
    dateFormat:'d/m/Y'
,

如果您来自后端的数据与您想在模型中使用的名称不同,您只需要 mapping

顺便说一句:从 ExtJS 4.1.3 开始还有两个新的配置项:dateReadFormatdateWriteFormat 为读取器和写入器定义不同的格式。但是如果你定义dateFormat,这对两者都是一样的。

【讨论】:

仅供读者参考:dateFormat 属性不在 4.2 Ext.js 中的 xtype datefield【参考方案2】:

在表单字段上,您需要额外的属性 submitFormat:


    xtype:'datefield',
    name:'Created',
    fieldLabel:' Date',
    format:'d/m/Y',
    width: 350,
    submitFormat: 'd/m/Y'

【讨论】:

以上是关于带有 extjs 4.1 问题的日期格式的主要内容,如果未能解决你的问题,请参考以下文章

根据不同条件覆盖 ExtJs 4 中的日期字段格式

Extjs 3.4 中的日期格式不呈现和显示

新手求教: ExtJs gridPanel 在绑定日期类型的时候,怎么转换为自己想要的格式

无法在 ext js 6.0.1 中更改类型日期格式

Extjs 4.2 日期字段只显示年和月没有日期

Extjs 4.1 datefield - 设置本周的第一天和最后一天