您的位置:首页 > 其它

[笔记]格式化jqGrid中的日期与时间,解决时分秒都显示为0

2015-07-09 18:12 906 查看
项目中的一个jqGrid列表页面的一列需要显示日期和时间,如:2011-08-10 10:20:30,查阅官方wiki文档的说明和例子,然后在colModel的需要格式化时间的列的formatter:'date'的后面加了一些 formatoptions配置,但IE和FF浏览器中都没有效果,也没提示什么错误~

无奈官方wiki文档的日期时间格式化部分的说明和例子对我来说不够细,只好查看jquery.fmatter.js中的源代码的DateFormat部 分,还好查出来了,原来srcformat和newformat的值都可以用masks里的那些选项,而masks里正好有我需要的日期时间格式—— ISO8601Long:"Y-m-d H:i:s"。哈,这下好了,马上在formatter:'date'后写上formatoptions:{newformat: 'Y-m-d H:i:s'}并保存,然后清空IE和FF浏览器的缓存重新访问~

奇怪,现在数据格式是符合要求了,但是时分秒都显示为0,调试了下后台数据,发现传送过来的日期时间数据里的时间部分并不为0!!!难道是jqGrid默 认日期格式化配置的影响?再看看grid.locale-zh_CN.js中的日期格式化部分的配置,果然是srcformat: 'Y-m-d'啊!这就是为什么我设置了formatoptions:{newformat: 'Y-m-d H:i:s'}后显示的时分秒部分值都为0,原来是源日期时间格式中没有格式化时分秒(H:i:s)部分,然后新格式化后的时间就默认将源格式化部分的时 分秒设置为0!

哈哈,再将formatter:'date'的formatoptions配置从formatoptions:{newformat: 'Y-m-d H:i:s'}改成formatoptions:{srcformat: 'Y-m-d H:i:s', newformat: 'Y-m-d H:i:s'}并保存,再清空IE和FF浏览器的缓存重新访问,哈哈,两种浏览器都OK了!

[搬自BlogBus]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: