[笔记]格式化jqGrid中的日期与时间,让它显示时分秒!

原创
2011/12/24 12:22
阅读数 1.3W

    项目中的一个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]

展开阅读全文
打赏
1
1 收藏
分享
加载中
怎么不行呢?你说的那种出来是“44235-11-07 21:10:44“效果,网上说是在jaskson里边加这段代码就可以了,但是我还是不知道怎么加? private static ObjectMapper mapper = new ObjectMapper();

static {
  //jackson默认写出的时间数据为时间戳, 这里修改为相应模式的时间数据输出格式
  mapper.getSerializationConfig().setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH🇲🇲ss"));
}
2015/02/04 14:35
回复
举报
更多评论
打赏
1 评论
1 收藏
1
分享
返回顶部
顶部