private SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");。。jsonBuffer.append("'createTime':'"
+ (sdFormat.format(((VUser) list.get(i)).getCreateTime())) + "',");。。
list是通过hql查出来的
这是查出的:'createTime':'2012-10-24 14:20:10.0'主要是这个0怎么回事,怎么出来的?format没用?

解决方案 »

  1. 话说你代码看着好乱啊。你或许可以测试一下。先用一个正常的日期格式化过的再格式化一下,然后用一个变量代替你那个hql里面查询出来的值试验一下应该就知道原因了,那个0肯定是毫秒。
    例如打印一下
    System.out.println(sdFormat.Format(sdFormat.parse("2012-10-29 14:27:28")));
    //忘记了是parse还是parseDate了
      

  2. 后面那个o 应该是你数据库 存储时候的 日期格式 是带 毫秒的,在页面上 用标签  format 去不掉么?
      

  3. 那个0是毫秒,你直接在format的时候就给出格式yyyy-MM-DD HH-MM-SS
      

  4. timestamp 类型是可以 格式化成 yyyy-MM--dd HH:mm:ss格式的。。疑难杂症,先clean 试试吧
      

  5. 你用yyyy-MM-dd HH:mm:ss 格式输出的时间 一般是这样子的2012-11-01 10:11:343,所以我想0应该是小数占位,或者是你数据库的时间格式。
      

类似问题 »