-
Notifications
You must be signed in to change notification settings - Fork 0
/
KTimer.java
86 lines (74 loc) · 1.9 KB
/
KTimer.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package scripts;
public class KTimer
{
public KTimer(long timeToRun)
{
startTime = 0L;
endTime = 0L;
this.timeToRun = 0L;
if(timeToRun < 0L)
timeToRun *= -1L;
startTime = System.currentTimeMillis();
endTime = startTime + timeToRun;
this.timeToRun = timeToRun;
}
public KTimer()
{
startTime = 0L;
endTime = 0L;
timeToRun = 0L;
startTime = System.currentTimeMillis();
endTime = startTime;
}
public void addTime(long timeToRun)
{
endTime += timeToRun;
}
public void newEndTime(long timeToRun)
{
endTime = System.currentTimeMillis() + timeToRun;
}
public void reset()
{
startTime = System.currentTimeMillis();
endTime = startTime + timeToRun;
}
public boolean isDone()
{
return endTime <= System.currentTimeMillis();
}
public long getTimeRemaining()
{
return endTime - System.currentTimeMillis();
}
public long getTimeElapsed()
{
return System.currentTimeMillis() - startTime;
}
public String getFormattedTime(long timeMilliseconds)
{
StringBuilder b = new StringBuilder();
long runtime = timeMilliseconds;
long TotalSecs = runtime / 1000L;
long TotalMins = TotalSecs / 60L;
long TotalHours = TotalMins / 60L;
int seconds = (int)runtime % 60;
int minutes = (int)TotalMins % 60;
int hours = (int)TotalHours % 60;
if(hours < 10)
b.append("0");
b.append(hours);
b.append(" : ");
if(minutes < 10)
b.append("0");
b.append(minutes);
b.append(" : ");
if(seconds < 10)
b.append("0");
b.append(seconds);
return b.toString();
}
private long startTime;
long endTime;
private long timeToRun;
}