0

试图用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

我想,如果它使用毫秒,那将是某种小数。我确信这是我想念的简单东西,但就是找不到!

提前致谢!

4

1 回答 1

1

您正在将一个整数除以另一个整数。在进行除法之前,您需要将它们转换为双打。像这样

double theCalcDays = ((double) (d1.getTime() - d2.getTime())) / (1000 * 60 * 60 * 24);
于 2013-02-14T07:31:00.187 回答