在刚接触数据库 *** 作时就发现时间在Java和数据库自己传输时经常出错,后来自己不断的调试得出一种解决方法:
在建立javaBean时将变量如time直接定义为Date类型,而数据库表单里的数据类型定义为datetime。当向数据库增加一条数据时,
stmsetString(4, new Date()toLocaleString());
当然有人会觉得,我定义的是Date类型的,为什么要用setString,因为后面我是使用了当前时间的一个字符串,所以要用String类型,
而且写sql语句时写数据表里数据名就可以,string直接存进去完全没有问题,只是我调出来的比较好玩的发现,前面我用date的几种
属性也不成功,应该是我水平有限,如果大家有好的方法请多多指教。
而读取一条数据时rsgetDate();
第二种方法就比较正经:
在建立javaBean是将变量如time直接定义为 Timestamp 类型,这是sql里的一种类型,同样的数据表里数据类型还是定义为datetime,
当向数据库增加一条数据时,stmsetTimestamp(6,new Timestamp(new Date()getTime()));
很正常的一种写法,而读取数据时rsgetTimestamp()
这是我常用的两种方法。
在表设计的时候,选中time字段,直接在下面默认值,里面写getdate()
这就是在每条记录你插入的时候,自动获取当前时间,插入一下
比如:
declare @str nvarchar
@str = convert(getdate(),nvarchar(19),120)
prinf @str = 'system datetime'
javautilDate date=new javautilDate();
javasqlDate data1=new javasqlDate(dategetTime());
这样 java中的date就转成sql中的date了 ,具体你可以根据需要进行简化,
date1 就是当前时间,已经转成能插入数据库中的datetime类型了。
你的意思是不是说你想取出数据库服务器的当前时间,如果是要取出数据库服务器的当前时间,你可以先使用sql函数取出数据库当前时间赛select getdate() 直接就查询出数据库服务器的当前时间,后面的就不用说了吧。你直接使用hibernate执行原生sql的方式获取这个时间就好了。
Year(getdate()) --当前年
Month(getdate()) --当前月
Day(getdate()) --当前日
Datediff(d,时间字段,getdate()) --得到离过生日还剩的天数
以上就是关于java怎么从数据库中取出时间全部的内容,包括:java怎么从数据库中取出时间、数据库插入数据时 如何自动获取系统时间、java如何获取当前时间插入数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)