日期:2014-05-19  浏览次数:20710 次

请高手 释疑mysql 的datetime


如图,我在navicat 看到的 日期时间 是没有 .0的

但我在JAVA 通过JDBC 读取 出来的 operatetime 是有 .0

如下图,


请高手 释疑,这是为什么啊?不能理解。。。


备注:我在mysql 字段用了 DATETIME ,但在JAVA 用了String.

------解决方案--------------------
这个跟数据库其实没啥本质联系,主要是你在做Date类型输出的时候,应该先进行格式化,比如:

Date day = ....; // 来源于ResultSet
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(day));

这样才能保证显示结果。
------解决方案--------------------
这里DateTime本来就保存了毫秒的值啊返回肯定有了撒,你java里接收最好用Date接收,在将Date转换为你想要的样子就可以了撒,如果返回没有毫秒值,才会应该担心吧
------解决方案--------------------
是不是保存的时候就存进了毫秒?如果不需要,可以存的时候就不要存毫秒,不然每次读都要格式化,没有必要。
另外数据库也可以用用varchar格式存时间。