{
PreparedStatement stm=con.prepareStatement("insert into message values(?,?,?,?,?)");
stm.setString(1,trans(msg.getTitle()));
stm.setString(2,trans(msg.getName()));
stm.setDate(3,new java.sql.Date(new java.util.Date().getTime()));
if((msg.getEmail()).length()==0)
stm.setString(5,null);
else stm.setString(5,trans(msg.getEmail()));
stm.setString(4,trans(msg.getContent()));
加粗的语句设置当前时间存入数据库,但数据库里是(10-七月 -2008 12:00:00 AM)这样,年月日是对的,但时间不对,jsp读出的 时间是2008-7-10 0:00:00 ,如何解决,谢谢!
PreparedStatement stm=con.prepareStatement("insert into message values(?,?,?,?,?)");
stm.setString(1,trans(msg.getTitle()));
stm.setString(2,trans(msg.getName()));
stm.setDate(3,new java.sql.Date(new java.util.Date().getTime()));
if((msg.getEmail()).length()==0)
stm.setString(5,null);
else stm.setString(5,trans(msg.getEmail()));
stm.setString(4,trans(msg.getContent()));
加粗的语句设置当前时间存入数据库,但数据库里是(10-七月 -2008 12:00:00 AM)这样,年月日是对的,但时间不对,jsp读出的 时间是2008-7-10 0:00:00 ,如何解决,谢谢!
楼主【zhizhuo89】截止到2008-07-11 09:56:20的历史汇总数据(不包括此帖):
发帖的总数量:13 发帖的总分数:280 每贴平均分数:21
回帖的总数量:14 得分贴总数量:1 回帖的得分率:7%
结贴的总数量:10 结贴的总分数:140
无满意结贴数:3 无满意结贴分:60
未结的帖子数:3 未结的总分数:140
结贴的百分比:76.92 % 结分的百分比:50.00 %
无满意结贴率:30.00 % 无满意结分率:42.86 %
楼主加油
楼主用的stm.setDate(3,new java.sql.Date(new java.util.Date().getTime())); setDate会省略掉后面的小时,分,秒应该使用setTimestamp
SimpleDateFormat sdf =new SimpleDateFormat( "yyyy年MM月dd日 hh:mm:ss");转完在读到JSP中~~
如果要时间的话,请 设 成dateTime类型,而不是date类型
-----------------------------------------
11-7月 -08 11.05.56.593000 上午 +08:00
而 表的时间为11-七月 -2008 03:03:48 AM,如何统一?
SQL> select sysTimestamp from dual; SYSTIMESTAMP
-----------------------------------------
11-7月 -08 11.05.56.593000 上午 +08:00 jsp添加到数据库的表里显示而为11-七月 -2008 03:03:48 AM
语句如下:
{
PreparedStatement stm=con.prepareStatement("insert into message values(?,?,?,?,?)");
stm.setString(1,trans(msg.getTitle()));
stm.setString(2,trans(msg.getName())); stm.setTimestamp(3,new Timestamp(new java.util.Date().getTime()));
……
原因如何?
("insert into message values(?,?,SYSDATE,?,?)");
ORACLE没有DATE的数据类型,只有DATETIME型的
SYSDATE看名字是DATE,其实是DATETIME
请高手指教!
写入数据库java:
{
java.util.Date date=new java.util.Date();
String datetime=new Timestamp(date.getTime()).toString(); //当前的web时间转换为String
PreparedStatement stm=con.prepareStatement("insert into message values(?,?,?,?,?)");
stm.setString(1,trans(msg.getTitle()));
stm.setString(2,trans(msg.getName()));
stm.setString(3,datetime);
………………
这样的语句插入数据库表里显示的时间与当前系统(new java.util.Date())时间差8小时,另外,new java.util.Date()得到的时间,与我电脑上的时间不一致,原因?如何修改?
平台:oracle9i+Tomcat5.5+jdk1.5。
原因分析:
1.系统本身时区设置错误(可以排除,上面已经交代系统能够获取正确时间)
2.注册表出现异常。
注册表对应项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
解决之道:
1.备份Time Zones这一项
2.从正常的并且是相同系统的机器中导出该项,然后倒入到自己机器中 我用第二种办法,搞定!!但不知道对以后有什么影响!!谢谢各位。买单!