2010-11-15 62 views
2

当我创建一个对象的实例时,比如说,我想在其中设置一个字段,一个时间戳。带毫秒的时间戳,计算“延迟”

与数据库无关。

当这个对象被传递时,它会最终读取它的时间戳,并且与它的接收者的当前时间进行比较来计算delay = timeNow - m.SENT_AT。两个对象都存在于同一个系统中,并且两个实体都使用系统时钟(实际时间,没有什么特别的地方,延迟很重要),但是我希望在毫秒之内。

回答

3

事情是这样的:

class Message { 
    public final long sentAt; 
    public final String data; 

    public Message(String data) { 
     this.sentAt = System.currentTimeMillis() 
     this.data = data; 
    } 

    public long timeSinceSent() { 
     return System.currentTimeMillis() - sentAt; 
    } 
}