import java.text.SimpleDateFormat;
import java.util.Date;public class FormatNumAndDate { /**
* @param args
*/
public static void main(String[] args) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String str1 = "2008-11-11";
Date begin;
try
{
begin = df.parse("2012-2-11");
Date now = new Date();
long distance = now.getTime() - begin.getTime();
long nd = 1000 * 24 * 60 * 60 * 365;// 一年的毫秒数
System.out.println(distance / nd);
}
catch (Exception e)
{
}
}}
import java.util.Date;public class FormatNumAndDate { /**
* @param args
*/
public static void main(String[] args) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String str1 = "2008-11-11";
Date begin;
try
{
begin = df.parse("2012-2-11");
Date now = new Date();
long distance = now.getTime() - begin.getTime();
long nd = 1000 * 24 * 60 * 60 * 365;// 一年的毫秒数
System.out.println(distance / nd);
}
catch (Exception e)
{
}
}}
now.getTime() - begin.getTime();2个long类型的数做运算先转化成int,所以这里2个数都被截了4个字节所以算出来的数会小很多,所以后面除了就是5了,
在就是我刚才也试了下 long nl = now.getTime();编译可以,但是System.out.println(n1);就出错了,我也不清楚。
long nd = 1000 * 24 * 60 * 60 * 365;// 一年的毫秒数
楼主的这句,里面都是int型,改成下面就好了:long nd = (long)1000 * 24 * 60 * 60 * 365;// 一年的毫秒数
错了,是
System.out.println((double)distance / nd);
??
哪个老师教你的?该打~~~~
long nd = 1000 * 24 * 60 * 60 * 365L;// 一年的毫秒数