java执行mysql语句查询datetime会多出个 .0

图片描述

.0 到底是怎么来的?
怎么解决?除了substring
图片描述

改为getTimestamp仍然不行

阅读 23.2k
4 个回答
新手上路,请多包涵

图片描述

图片描述

应该不是代码的问题,网上也有人问

正确读取时间的方法:

System.out.println(new Date(rs.getTimestamp('time')));

时间不能这样取,rs.getString()用来取String类型的数据。把时间直接按String读取相当于先取取java.sql.Timestamp该类型数据然后再对该数据进行toString()所以才会得到你看到的“错误”的结果。

参考:http://docs.oracle.com/javase/7/docs/api/java/sql/Timestamp.html

Formats a timestamp in JDBC timestamp escape format. yyyy-mm-dd hh:mm:ss.fffffffff, where ffffffffff indicates nanoseconds.

采用MySQL自带的函数DATE_FORMAT。
date_format(utt.created_at, '%Y-%m-%d %H:%i:%s') AS createdAt
date_format(utt.updated_at, '%Y-%m-%d %H:%i:%s') AS updatedAt

新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题