日期:2014-05-20  浏览次数:20619 次

date转Timestamp出现的问题
public   class   Test   {

/**
  *   @param   args
  */
public   static   void   main(String[]   args)   {
//   TODO   Auto-generated   method   stub

Date   date   =   new   Date();

Timestamp   time   =   new   Timestamp(Date.parse(date.toString()));

       
Timestamp   tt       =   new   Timestamp(System.currentTimeMillis());

System.out.println( "now   date   =   "   +   date   );
System.out.println( "now   time   =   "   +   time);
System.out.println( "now     tt     =   "   +   tt);


}

}


输出的结果很奇怪
now   date   =   Wed   May   16   10:13:51   CST   2007
now   time   =   2007-05-17   00:13:51.0
now     tt     =   2007-05-16   10:13:51.671

都是当前系统时间,但是第一种转化成Timestamp比当前时间早了14个小时.



------解决方案--------------------
LZ用的JDK什么版本的? MS parse方法在JDK1.1以后都过时了
还有DATE很多方法都是过时的 没有Calendar类方便

------解决方案--------------------
这个使用不同的时区的问题,Date.parse()方法已经被废弃,建议使用

Timestamp time = new Timestamp(date.getTime());

可以得到相同的值