程序如下
public static long time(String sysdate,String examinfotime)throws ParseException 
       {
SimpleDateFormat format=new SimpleDateFormat("yyyy-mm-dd");  
Date da1 = format.parse("2007-12-12");
Date da2 = format.parse("2007-12-28");
System.out.println(da1.getTime());
System.out.println(da2.getTime());
long hours = (da1.getTime() - da2.getTime());
return hours;
}输出结果2002-12-12  对应的数值是1169827920000
输出结果2002-12-28  对应的数值是1168531920000
查询JDK Date的getTime() 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
那为什么日期越往后 对应的数值却越小了?

解决方案 »

  1.   

    yyyy-mm-dd 与 yyyy-MM-dd 是不同的
    参考SimpleDateFormat说明
      

  2.   

    改回了 yyyy-MM-dd
    还是一样2007-12-12 getTime()算出的数值比2007-12-28的要大。
    什么情况?
      

  3.   

    Date da1 = format.parse("2007-12-12");
    Date da2 = format.parse("2007-12-28");
    System.out.println(da1.getTime()+"---");
    System.out.println(da2.getTime())
    输出:
    1168531920000---
    1169914320000一楼的话没人能看到吗,我多加个---醒目下
    要么format.parse("2007-12-12")你填错了,要么就是输出没对应上
      

  4.   

    哎 
    我测试了
    日了
    我是从数据库表里查的数据
    一个是sysdate  一个是2007-12-28
    结果这两个参数弄反了
    刚才我拿实数测试了一下2007-12-12  2007-12-28
    证明我以前那个弄反了
    谢谢LS