我在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中的已知错误吗? 是否有任何已知的工作或尝试的任何事情?
答案 0 :(得分:0)
请注意,虽然此配置是可选的,但它非常重要 将默认使用基本JavaScript Date对象的解析函数 如果没有指定,而不是Ext.Date.parse。这可能会导致 意外问题,特别是在时区之间转换时,或 转换未指定时区的日期时。该 本机Date.parse的行为是特定于实现的,并且 根据日期字符串的值,它可能会返回UTC 日期或当地日期。出于这个原因,强烈建议 在解析日期时总是指定明确的日期格式。