在用ExtJS + struts2-json开发过程上发现日期格式与组件接受的格式不一致,不显示结果或是乱了。
现象:
因为struts2-json转换java.util.Date类的结果格式为:2010-10-25T23:12:10
我们一般在ExtJS端会使用renderer:Ext.util.Format.dateRenderer
来完成格式转换,
但是问题来了,这样的方法在FF下,是生效的,但不知道怎么了在IE下,就无效了。
经查原代码,出现在IE下是 v = new Date(Date.parse(v));
中的Date.parse
出现了问题,在IE中识别不了2010-10-25T23:12:10
格式的日期,需要转换为2010/10/25 23:12:10
形式的格式。
我只就用renderer自己写方法来完成,如下:
{header:"生日",width:80,dataIndex:"birthday",format:"Y-m-d",sortable:true,align:"center"
,renderer:function(v){
if(!v){
return "";
}
//alert(v);
v = v.replace(new RegExp("-","gm"), "/").replace("T"," ");
//alert(v);
if(!Ext.isDate(v)){
v = new Date(Date.parse(v));
}
//alert(v);
return v.dateFormat("Y-m-d");
}
},
后来发现datefield组件也是一样的,如果不处理datefield不接受数据。也是自己写了。不过这是Record中 写了。:
注意这次里是使用convert
new Ext.data.JsonReader({
root:"user"
},[
{name:"user.id",type:"int",mapping:"id"},
{name:"user.name",type:"string",mapping:"name"},
{name:"user.birthday",type:"string",dateFormat:"Y-m-d G:i:s",mapping:"birthday",
convert : function(v,rec){
if(!v){
return "";
}
v = v.replace(new RegExp("-","gm"), "/").replace("T"," ");
if(!Ext.isDate(v)){
v = new Date(Date.parse(v));
}
return v.dateFormat("Y-m-d");
}
}
]);
分享到:
相关推荐
ExtJs 的日期控件不带清空功能,项目有可能需要一个带清空功能的日期控件。
注意事项:1、只有日期、年、月、日全部选择后,才能从name中获取值,日期格式:YYYY-MM-dd HH:mm:ss。如果没有全部选择, 则获取空值。 待优化:1、因为使用fieldcontainer进行的封装,整个空间大小较宽,日后应...
extjs日期显示(如何转换日期格式),亲自试验过的,extjs6中可以使用的
extjs时间日期选择组件.
EXTJS_DATEFORMAT 日期格式对应,网上找到的,挺好用的
EXTJS.GRIDPANEL中日期格式 设置
ExtJS日期多选组件源码 日期一般是单选,有时间有需要选择多个日期的情况,返回一个日期的数组。
注意事项:1、只有日期、年、月、日全部选择后,才能从name中获取值,日期格式:YYYY-MM-dd HH:mm:ss。如果没有全部选择, 则获取空值。 待优化:1、因为使用fieldcontainer进行的封装,整个空间大小较宽,日后应...
extjs4.0结合My97DatePicker4.7版本使用 使用简单 方便 解决extjs中日期控件不能显示时间的问题 下载后将其放到extjs目录的examples下 直接运行date.html即可 extjs4.0版本 4.0以前的版本没有测试过 如果有4.0版本...
extjs中有时候查询需要通过日期(年月)查询。而这就是一个只显示年月的日期插件,很好用
分享给爱好EXTJS的同胞们! EXTJS4.0文件夹下面包括 1.只有年月选择--dateYM.html (这个在EXTJS4.0和4.1下显示都是可以的) 2.扩展日期选择时分秒--dateTimeField4.0.html (这个只在EXTJS4.0下显示可以) ...
ExtJS4.0图文实例——数据组件介绍及简单应用
Extjs3.1例子源代码Extjs3.1例子源代码Extjs3.1例子源代码vv
Ext Extjs 禁止文本和日期编辑 ExtJS中动态设置TextField的readOnly属性
漂亮的Extjs图片展示组件实例,类似于幻灯片,可直接拿去用,非常不错的哦
extjs入门学习,各个组件的使用,包括Observable、Observable、BoxComponent、Container、Panel、Viewport及Window...
用过Extjs的人都晓得,Ext自身的DateField只支持日期选择,而TimeField却实现的又很简单。真的是苦了一帮子英雄好汉啊!此控件由本人原创,扩展了DateField。在Extjs3.0.0、3.2.1、3.3.0版本下都测试通过。且在IE6、...
extjs 中文 api chm格式的!可以跟好的帮助你学习富客户端技术!!!!!!
这里主要介绍了ExtJS常用组件的样式修改,包括工具栏样式修改、菜单样式修改、树形菜单样式修改、表格样式修改、按钮样式修改等。
ExtJs组件类的对应表,很好的,分享给大家!!