经常会使用到计算时间差,下面的作法比较快。
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date curDate = new Date(System.currentTimeMillis());//获取当前时间String str = df.format(curDate);
try {
Date d2 = df.parse(date[0]+"-"+date[1]+"-"+date[2]+" 13:31:40");
Date d1=df.parse(str);
long diff = d1.getTime() - d2.getTime();// 这样得到的差值是微秒级别
long days = diff / (1000 * 60 * 60 * 24);
long hours = (diff - days * (1000 * 60 * 60 * 24))
/ (1000 * 60 * 60);
long minutes = (diff - days * (1000 * 60 * 60 * 24) - hours
* (1000 * 60 * 60))
/ (1000 * 60);
System.out.println("" + days + "天" + hours + "小时" + minutes + "分");