如何计算java中的秒数?

时间:2016-03-31 03:23:50

标签: java count seconds

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

我正在处理的程序模拟杂货店。

有些食物在经过一段时间后具有破坏的特性,而这一切都是在名为item的{​​{1}}类的子类中完成的。秒数不需要打印,但跟踪使用groceryItem字段,我不太了解如何精确计算秒数。

我正在考虑使用Java.util.Timer或Java.util.Date库,但我不完全理解如何将它们用于我的问题。

我对Java没有很好的理解,但任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:6)

您可以使用自纪元以来的毫秒long值或java.util.Date个对象(内部使用long值,自纪元以来的毫秒数,但更容易显示/调试)。< / p>

// 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);
    }
}

答案 1 :(得分:4)

创建对象时。

Date startDate = new Date();

完成通话后;

Date endDate = new Date();

经过的秒数为:

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