为什么自己算出的毫秒数是错的

错误的写法:

 

public static void main(String args[]){
  long a=new Date().getTime();
  long b=1000*60*60*24*356;
  System.out.println(a/b);
 }
我算的是从1970年到现在经过了多少年的方法.
这样做有什么错?为什么打印出来是1700多。..现在顶多离1970年才38年而已啊。

 

==========================================================

应该这么写:

 

public static void main(String args[]){
long a=new Date().getTime();
long b =1000;
long l=b*60*60*24*356;
System.out.println(a/l);
}
因为你原来的long b=1000*60*60*24*356;这个式子的数字都是int型你这样转是不对的...
我的解决是先定义一个long型..然后进行向上匹配..得到long 型
问题就这样....运行过是38年

你可能感兴趣的:(date.gettime())