尝试用Java制作一个小倒计时程序。
我正在努力寻找应用程序的日期部分之间的差异,并且由于某种原因我只是得到了日子。
我想要几天,几小时,几分钟和几秒钟。我不确定为什么我的计算只是四舍五入到整数...这个例子中的163,而不是163.xx?
这是我的代码:
import java.util.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class CalcData {
Calendar cal1;
Date today;
public CalcData() {
cal1 = new GregorianCalendar();
today = new GregorianCalendar().getTime();
}
public String calcDiff() {
cal1.set(2013, 6, 27, 7, 15, 0);
double theDays = calcDays(cal1.getTime(), today);
return "" + theDays;
}
public double calcDays(Date d1, Date d2) {
double theCalcDays = (double) ((d1.getTime() - d2.getTime()) / (1000 * 60 * 60 * 24));
return theCalcDays;
}
}
当我运行时,正如我所说,我得到了结果:163.0
我认为,如果它是使用毫秒,它将是某种小数。我确信这是一件我想念的简单事情,但却找不到它!
提前致谢!
答案 0 :(得分:0)
您将整数除以另一个整数。在进行划分之前,你需要将它们转换为双打。喜欢这个
double theCalcDays = ((double) (d1.getTime() - d2.getTime())) / (1000 * 60 * 60 * 24);