ExtJs中日期的格式化处理
2014-02-14 09:27
344 查看
转自:http://hi.baidu.com/huahua035/item/73396dee32c2080a8d3ea8f2
ExtJs中,日期的格式化处理棘手问题多出现在grid的展示列中。
推荐解决方案:
不要再前端使用js或者extjs提供的格式化函数,在后端处理(比如oracle数据库查询语句中使用to_char格式化或者是用java的SimpleDateFomet函数格式化)为格式化后的字符串,前端只负责显示。
前端格式化方案:
一旦需要在前端处理,具体分析如下:
1. 数据库获取日期
通过数据库查询后需要使用ResultSet的getDate()或者是getTimestamp()函数获取日期对象
一定要注意:
getDate()函数获取的是java.sql.Date --- 是 年-月-日格式的
getTimestamp() 函数获取的是java.sql.Timestamp --- 是年-月-日 时:分:秒 格式
2. java日期获取
java需要把数据库获得的java.sql日期转换为另一个java.util日期对象,我们常用的日期类型是java.util.Date(比如我们的POJO,VO,Bean中对象的日期类型)
一定要注意:
java.util.Date 年-月-日 时:分:秒.毫秒 格式
转换后是否包含时分秒,就要看你的数据库获取日期的方式了(如果数据库获取日期用的是getDate(),那绝对不会有时分秒的)
3. 前端展示
在extjs中,我们获取到的数据默认都是字符串,默认显示时候:
如果数据库是通过 getDate() 获取都,会显示为 “2012-09-18” 的字符串形式
如果数据库是通过 getTimestamp() 获取都,会显示为 “879561144489” 的数字串形式
如何格式化呢
分两种情况
如果数据库是通过 getDate() 获取
renderer:function(value){
return new Date(Date.parse(value.replace(/-/g, "/"))).format("Y年m月d日");
}
如果数据库是通过 getTimestamp() 获取都
renderer: function(value) {
return new Date(value).format("Y-m-d H:i:s");
}
---- 他俩的差别就是对字符串转换为日期类型的差别!
注意:前端extjs定义grid的列时候,用默认的type=‘string’,不要使用type="date"
ExtJs中,日期的格式化处理棘手问题多出现在grid的展示列中。
推荐解决方案:
不要再前端使用js或者extjs提供的格式化函数,在后端处理(比如oracle数据库查询语句中使用to_char格式化或者是用java的SimpleDateFomet函数格式化)为格式化后的字符串,前端只负责显示。
前端格式化方案:
一旦需要在前端处理,具体分析如下:
1. 数据库获取日期
通过数据库查询后需要使用ResultSet的getDate()或者是getTimestamp()函数获取日期对象
一定要注意:
getDate()函数获取的是java.sql.Date --- 是 年-月-日格式的
getTimestamp() 函数获取的是java.sql.Timestamp --- 是年-月-日 时:分:秒 格式
2. java日期获取
java需要把数据库获得的java.sql日期转换为另一个java.util日期对象,我们常用的日期类型是java.util.Date(比如我们的POJO,VO,Bean中对象的日期类型)
一定要注意:
java.util.Date 年-月-日 时:分:秒.毫秒 格式
转换后是否包含时分秒,就要看你的数据库获取日期的方式了(如果数据库获取日期用的是getDate(),那绝对不会有时分秒的)
3. 前端展示
在extjs中,我们获取到的数据默认都是字符串,默认显示时候:
如果数据库是通过 getDate() 获取都,会显示为 “2012-09-18” 的字符串形式
如果数据库是通过 getTimestamp() 获取都,会显示为 “879561144489” 的数字串形式
如何格式化呢
分两种情况
如果数据库是通过 getDate() 获取
renderer:function(value){
return new Date(Date.parse(value.replace(/-/g, "/"))).format("Y年m月d日");
}
如果数据库是通过 getTimestamp() 获取都
renderer: function(value) {
return new Date(value).format("Y-m-d H:i:s");
}
---- 他俩的差别就是对字符串转换为日期类型的差别!
注意:前端extjs定义grid的列时候,用默认的type=‘string’,不要使用type="date"
相关文章推荐
- ExtJs中日期的格式化处理(获取数据库日期)
- ExtJs ExtenderControl 日期格式化处理
- Hql处理日期格式化问题
- FLEX日期格式化处理和字符串转换
- mysql 日期处理及格式化
- JS处理json日期格式化问题
- SQL开发应用实例存储过程——日期格式化处理
- Dojo中日期格式化处理
- AJAX JSON中日期类型DateTime格式化的序列化自定义对象以及自定义类型参数的问题处理
- SQL日期格式化处理
- Extjs怎么格式化Grid的日期列
- Extjs中DisplayField的日期或者数字格式化扩展
- js 处理日期格式化
- [转].NET 中日期和时间的格式化处理
- 报表制作工具中日期参数的格式化处理
- 字符串处理技术之格式化字符串(格式化当前日期)
- Extjs4处理json日期和时间
- .NET 中关于日期时间的格式化处理
- Java常用类库——时间处理类Date、Calendar、GregorianCalendar以及日期格式化和计算
- ExtJs中日期问题,处理时间差,即结束日期比起始日期大的验证!!