如何计算java中的秒数?

how to count the seconds in java?

我正在尝试了解如何跟踪创建对象的秒数。

我正在使用的程序模拟杂货店。

有些食物在一定时间后会变质,这都是在 item class 的子 class 中完成的,称为 groceryItem.不需要打印秒数,但会使用 currentTime 字段进行跟踪,我不太明白如何准确计算秒数。

我可能正在考虑使用 Java.util.Timer 或 Java.util.Date 库,但我不完全了解如何使用它们来解决我的问题。

我对java不是很了解,但如有任何帮助,我们将不胜感激。

您可以使用自纪元以来毫秒数的 long 值,或 java.util.Date 对象(内部使用自纪元以来毫秒数的 long 值,但更容易 display/debug).

// Using millis
class MyObj {
    private final long createdMillis = System.currentTimeMillis();

    public int getAgeInSeconds() {
        long nowMillis = System.currentTimeMillis();
        return (int)((nowMillis - this.createdMillis) / 1000);
    }
}
// Using Date
class MyObj {
    private final Date createdDate = new java.util.Date();

    public int getAgeInSeconds() {
        java.util.Date now = new java.util.Date();
        return (int)((now.getTime() - this.createdDate.getTime()) / 1000);
    }
}

创建对象调用时。

Date startDate = new Date();

完成后打电话;

Date endDate = new Date();

经过的秒数是:

int numSeconds = (int)((endDate.getTime() - startDate.getTime()) / 1000);