我正在尝试使用线程创建计时机制,但在获取两个日期之间的时间差以及使用该差来获取当前剩余时间百分比时遇到了问题。这是我试图原型化的概念:
这是我的实现:
long startMilisecs = System.currentTimeMillis();
long currentMilisecs;
long endDateMilisecs = getEndDate().getTime();
int diffMillisecs = ((int)(endDateMilisecs - startMilisecs) / 1000) / 60;
int currPerc;
while (startMilisecs <= endDateMilisecs)
{
currentMilisecs = (int) System.currentTimeMillis();
currPerc = ((int)currentMilisecs * 100) / diffMillisecs;
System.out.println(" Current Percentage: " + currPerc);
}
这段代码的问题是百分比不是从 0 开始,而是从 20% 到 40%。
你能告诉我这有什么问题吗?对于这个问题,我仅限于使用线程。