{
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 ,如何解决,谢谢!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【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 %                  
    楼主加油
      

  2.   

    stm.setTimestamp(3,new Timestamp(System.currentTimeMillis()));
      

  3.   

    赞同!!
    楼主用的stm.setDate(3,new java.sql.Date(new java.util.Date().getTime())); setDate会省略掉后面的小时,分,秒应该使用setTimestamp
      

  4.   


    SimpleDateFormat sdf =new SimpleDateFormat( "yyyy年MM月dd日 hh:mm:ss");转完在读到JSP中~~
      

  5.   

    你数据库的那个字段的时间设置成什么类型?
    如果要时间的话,请 设 成dateTime类型,而不是date类型
      

  6.   

    oracle9i数据库中只有date类型,没有其它关于时间类型。
      

  7.   

    楼主是需要将 Web服务器时间 还是 DB服务器时间 插入数据库?
      

  8.   

    SQL> select sysTimestamp from dual;SYSTIMESTAMP
    -----------------------------------------
    11-7月 -08 11.05.56.593000 上午 +08:00
    而 表的时间为11-七月 -2008 03:03:48 AM,如何统一?
      

  9.   

    我的理解是首先我要把web当前的时间存入数据库,过后,可以把已经存入的时间通过jsp显示出来。
      

  10.   

    你可以使用 to_char()函数来进行格式转换。
      

  11.   

    举个极端点的例子,如果你的 DB服务器 在美国,而 Web服务器 在中国,那这两个时间可差距大了。
      

  12.   

    同一时刻:
    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()));
    ……
    原因如何?
      

  13.   

    直接用数据库时间函数,比如ORACLE用:
    ("insert into message values(?,?,SYSDATE,?,?)"); 
      

  14.   

    用sysdate只能精确到日,秒应给如何?
      

  15.   

    自己用SimpleDateFormat 格式化下时间在存储
      

  16.   

    我最近也碰到了这样的问题,我是这样解决的:使用数据库的GETDATE()函数直接在数据库里插入,这样方便.在创建SQL语句的时候就使用时间列=GETDATE();
      

  17.   


    ORACLE没有DATE的数据类型,只有DATETIME型的
    SYSDATE看名字是DATE,其实是DATETIME
      

  18.   

    jsp添加到数据库的表里显示而为11-七月 -2008 03:03:48 AM 
    请高手指教!
      

  19.   

    oracle在创建SQL语句的时候就使用时间列=GETDATE();但提示函数错误。
      

  20.   

    linux可以硬件时间和操作系统时间不一样的 unix应该也存在 不知道你这个和这个有没有关系
      

  21.   

    我现在把数据库的date类型改成String,建表语句如下:create table message(title varchar(100),name varchar(20),time varchar(50),content varchar(2000),mail varchar(50)); 
    写入数据库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。
      

  22.   

    问题描述:Window XP 系统自己能够读取正确的时间,但是用java获取的时间始终与北京时间相差八个小时。 
    原因分析: 
    1.系统本身时区设置错误(可以排除,上面已经交代系统能够获取正确时间) 
    2.注册表出现异常。 
    注册表对应项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones 
    解决之道: 
    1.备份Time Zones这一项 
    2.从正常的并且是相同系统的机器中导出该项,然后倒入到自己机器中 我用第二种办法,搞定!!但不知道对以后有什么影响!!谢谢各位。买单!