我使用 System.currentTimeMillis() 来保存用户开始活动的时间。
public class TimeStamp {
protected long _startTimeMillis = System.currentTimeMillis();
public String getStartTime() {
return new Time(_startTimeMillis).toString();
}
该类在活动开始时被实例化,并且 getStartTime() 返回正确的时间。我还尝试获取活动开始后经过的时间。
public String getElapsedTime() {
return new Time(System.currentTimeMillis() - _startTimeMillis).toString();
}
使用模拟的 android 设备(android 4.0.3)可以很好地工作。但是,当我在我的真实 android 设备 (android 4.0.3) 上部署应用程序时,getElapsedTime() 会额外增加一小时,然后正常计数。所以在我的真实设备上 getElapsedTime() 将在活动开始后返回“01:00:01”,但它应该返回“00:00:01”。
你知道为什么会发生这种情况吗?