delayTime直接用long类型呢?问题应该出在delayTime身上。

解决方案 »

  1.   

    import java.util.Calendar;
    public class testDate {
        
         public testDate() {
        }
            public static void main(String[] args) {
           java.sql.Timestamp endTime= java.sql.Timestamp.valueOf("2003-8-10 01:30:00");
           java.sql.Time delayTime=java.sql.Time.valueOf("01:00:00");//01:00:00
            long delayMillis=delayTime.getHours()*60*60*1000+delayTime.getMinutes()*60*1000+delayTime.getSeconds()*1000;
            long l=endTime.getTime()+delayMillis;
       
            Calendar calendar = Calendar.getInstance();
            calendar.setTimeInMillis(l);
            System.out.println(calendar.getTime());
        }
        
    }
      

  2.   

    我刚试了一下:
    delayTime = java.sql.Time.valueOf("01:00:00");
    long delaymills = delayTime.getTime();
    结果delaymills的值为-25200000,是-7个小时,所以就会得到2003-8-9 18:30:00
    所以构造delayTime时必须注意参数的正确性!
      

  3.   

    楼上kevincom(木瓜)提出的方法正确,试试吧!