我试图了解如何跟踪创建对象的秒数。
我正在使用的程序模拟杂货店。
某些食物会在一段时间后变质,这都是在item
类的子类groceryItem
中完成的。秒不需要打印,但是可以跟踪使用currentTime
字段,我不太了解如何精确计算秒。
我可能正在使用Java.util.Timer或Java.util.Date库,但我不完全了解如何使用它们解决问题。
我对Java的了解不是很深,但是可以提供任何帮助。
最佳答案
您可以使用自epoch以来的毫秒数的long
值,也可以使用java.util.Date
对象(内部自epoch以来的毫秒数的long
值,但更易于显示/调试)。
// 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);
}
}