日期:2014-05-17  浏览次数:20737 次

mysql的datetime类型的存储问题。。。
我想保存当前时间,将其作为对象的一个属性值,用的new Date(),保存到数据库后,数据成了“2010-04-17 00:00:00”,没有保存小时,分钟,秒。
 将其取出,取出的时间也就成了“2010-04-17 ”这种格式。

我希望保相存时间的同时也要保存小时之类的,取出的时间也能含有小时这些,要怎么做呢?要在保存时间的时候,做什么格式转换吗?

以前都用的varchar在数据库中保存的,这次用datetime就出现了这个问题,求助。。。

------解决方案--------------------
有date的子类timestamp。就是实际存的时候new timestamp().就是通常所说的时间戳。取的时候可不要statement.getDate哦。
------解决方案--------------------
simpdateformate sf=new simpdateformate("yyyy-MM-dd");
string sd=sf.format(new Data());//放数据库读取的时间
//simpdateformate 好像有拼写错误在ide里敲一下就可以了,思路是这样的

------解决方案--------------------
探讨
这么巧,我也遇到这问题了,不过解决了
你可以这样做,

Java code

//在java中把字段设为String类型
//time是你设置的表量或属性
SimpleDateFormat hm =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
String time=hm.Fomrmat(new Date());
//数据库中字段设为Dat……

------解决方案--------------------
4楼的方法,也是常用的方法
在Mysql中,我们一般把时间型设置为timestamp。因为你给时间字段插入null 或没赋值,系统会自动赋当前的日期和时间,然后通过
Timestamp ts=rs.getTimestamp("time");//time是时间字段
long lms=ts.getTime();
Date date=new Date(lms);//得到日期
Time time=new Time(lms);//得到时间
------解决方案--------------------
你可以这样
java.sql.Date datatime=new Date(new java.util.Date().getTime());
这样获取到的时间直接就是date类型的还不用转换的然后时分秒都有的

------解决方案--------------------
new Date 直接 就有 小时 分 秒 了 不理解,不解释
------解决方案--------------------
保存的时候用new Date(System.currentTimeMillis())试试,不敢确定
------解决方案--------------------
强烈建议把datatime转换成String类型存储。