Ext 4.2.1模型日期解析跨浏览器不一致

时间:2016-04-27 10:13:05

标签: javascript extjs4.2

我在Ext JS 4.2.1中使用类型" date"

声明了一个模型

我正在插入价值为" 2016-04-07 22:46:15.000"

的记录

在Chrome中,正确解析(并显示)该值。 在IE11和Firefox中,该值将从记录中静默删除。

我在这里有一个很小的例子:

Ext.onReady(function(){

Ext.define('Customer', {
    extend : 'Ext.data.Model',
    fields : [ { name:'contract_start', type:'date'} ]
});

Ext.create('Ext.data.Store', {
    storeId:'customerStore',
    model:'Customer',
    data:{'items':[
        { 'contract_start': "2016-04-07 22:46:15.000" }
    ]},
    proxy: {
        type: 'memory',
        reader: {
            type: 'json',
            root: 'items'
        }
    }
});

Ext.create('Ext.grid.Panel', {
    store: Ext.data.StoreManager.lookup('customerStore'),
    columns: [
        { dataIndex: 'contract_start', flex: 1 }
    ],
    height: 200,
    width: 400,
    renderTo: 'target'
});


});

[JS小提琴| https://jsfiddle.net/jnj3j7r2/]

这是Ext JS 4.2.1中的已知错误吗? 是否有任何已知的工作或尝试的任何事情?

1 个答案:

答案 0 :(得分:0)

documentation

涵盖了这一点
  

请注意,虽然此配置是可选的,但它非常重要   将默认使用基本JavaScript Date对象的解析函数   如果没有指定,而不是Ext.Date.parse。这可能会导致   意外问题,特别是在时区之间转换时,或   转换未指定时区的日期时。该   本机Date.parse的行为是特定于实现的,并且   根据日期字符串的值,它可能会返回UTC   日期或当地日期。出于这个原因,强烈建议   在解析日期时总是指定明确的日期格式。