- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMyTime.java
More file actions
Latest commit
53 lines (45 loc) · 1.4 KB
/
Copy pathMyTime.java
File metadata and controls
53 lines (45 loc) · 1.4 KB
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
publicclassMyTime {
inthour, minute;
publicMyTime(inthour, intminute) {
this.hour = hour;
this.minute = minute;
}
@Override
publicStringtoString() {
return (hour < 10 ? "0":"") + hour + ":" + (minute < 10 ? "0":"")+minute;
}
publicvoidincrementHour() {
incrementHour(1);
}
publicintincrementHour(intdiff) {
intdayDiff = 0;
if (hour + diff < 0)
dayDiff = -1;
dayDiff += (hour + diff) / 24;
hour = (hour + diff) % 24;
if (hour < 0)
hour += 24;
returndayDiff;
}
publicintincrementMinute(intdiff) {
inthourDiff = 0;
if (minute + diff < 0)
hourDiff = -1;
hourDiff += (minute + diff) / 60;
minute = (minute + diff) % 60;
if (minute < 0)
minute += 60;
returnincrementHour(hourDiff);
}
publicinttotalMinutesDifference(MyTimeanotherTime) {
intthisTotalMinutes = hour * 60 + minute;
intanotherTotalMinutes = anotherTime.hour * 60 + anotherTime.minute;
returnMath.abs(thisTotalMinutes - anotherTotalMinutes);
}
publicbooleanisAfter(MyTimetime) {
return (hour * 60) + minute > (time.hour * 60) + time.minute;
}
publicbooleanisBefore(MyTimetime) {
return (hour * 60) + minute < (time.hour * 60) + time.minute;
}
}