System.out.println(new Date(0).after(new Date(1000 * 60 * 60 * 24 * 30)));
System.out.println(new Date(0).after(new Date(1000)));先预测一下结果吧!
false ,false ????????那你就错了
运行结果是true, false那我就不明白了 为什么呢,不是说自那个标准时间后的毫秒数越大,时间就越靠后吗??

解决方案 »

  1.   


    import java.util.Date;public class TestDate {
    public static void main(String args[]){
    System.out.println(new Date(0).after(new Date(1000 * 60 * 60 * 24 * 30l))); 
    System.out.println(new Date(0).after(new Date(1000))); 
    }
    }
    API中Date构造函数的参数类型为long,结果你弄个int进去了
      

  2.   

    都是false,没有错。1000 * 60 * 60 * 24 * 30l
      

  3.   

    System.out.println(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date(1000 * 60 * 60 * 24 * 30)) );
    System.out.println(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date(0)) );
    结果:
        1969/12/12 14:57:12
        1970/01/01 08:00:00
      

  4.   

    建议再去看看java基础 ,低精度的会自动转成高精度的数据 参与运算