Normand Briere
2018-12-17 86f4e9c75951153ae9825f4772633e45698cb602
timeflow/data/time/RoughTime.java
....@@ -3,127 +3,141 @@
33 import java.util.Calendar;
44 import java.util.Date;
55
6
-public class RoughTime implements Comparable {
6
+public class RoughTime implements Comparable
7
+{
78
8
- public static final long UNKNOWN=Long.MIN_VALUE;
9
- private TimeUnit units;
10
- private long time;
11
-
12
- public RoughTime(TimeUnit units)
13
- {
14
- time=UNKNOWN;
15
- this.units=units;
16
- }
17
-
18
- public RoughTime(long time, TimeUnit units)
19
- {
20
- this.time=time;
21
- this.units=units;
22
- }
23
-
24
- public boolean isDefined()
25
- {
26
- return time!=UNKNOWN;
27
- }
28
-
29
- public long getTime()
30
- {
31
- return time;
32
- }
33
-
34
- public void setTime(long time)
35
- {
36
- this.time=time;
37
- }
38
-
39
- public Date toDate()
40
- {
41
- return new Date(time);
42
- }
43
-
44
- public boolean after(RoughTime t)
45
- {
46
- return t.time<time;
47
- }
48
-
49
- public boolean before(RoughTime t)
50
- {
51
- return t.time>time;
52
- }
53
-
54
- public RoughTime plus(int numUnits)
55
- {
56
- return plus(units, numUnits);
57
- }
58
-
59
- public RoughTime plus(TimeUnit unit, int times)
60
- {
61
- RoughTime r=copy();
62
- unit.addTo(r,times);
63
- return r;
64
- }
65
-
66
- public String toString()
67
- {
68
- if (isKnown())
69
- return new Date(time).toString();
70
- return "unknown";
71
- }
72
-
73
- public boolean isKnown()
74
- {
75
- return time!=UNKNOWN;
76
- }
77
-
78
- public boolean equals(Object o)
79
- {
80
- if (!(o instanceof RoughTime))
81
- return false;
82
- RoughTime t=(RoughTime)o;
83
- return t.units==units && t.time==time;
84
- }
85
-
86
- public RoughTime copy()
87
- {
88
- RoughTime t=new RoughTime(time, units);
89
- return t;
90
- }
91
-
92
- public void setUnits(TimeUnit units)
93
- {
94
- this.units=units;
95
- }
9
+ public static final long UNKNOWN = Long.MIN_VALUE;
10
+ private TimeUnit units;
11
+ private long time;
9612
97
- public TimeUnit getUnits() {
98
- return units;
99
- }
100
-
101
- public String format()
102
- {
103
- //return units.formatFull(time);
104
- return TimeUnit.SECOND.formatFull(time);
105
- }
106
-
107
- public static int compare(RoughTime t1, RoughTime t2)
108
- {
109
- if (t1==t2)
110
- return 0;
111
- if (t1==null)
112
- return -1;
113
- if (t2==null)
114
- return 1;
115
- long dt= t1.time-t2.time;
116
- if (dt==0)
117
- return 0;
118
- if (dt>0)
119
- return 1;
120
- return -1;
121
- }
13
+// public RoughTime(TimeUnit units)
14
+// {
15
+// time=UNKNOWN;
16
+// this.units=units;
17
+// }
18
+ public RoughTime(long time, TimeUnit units)
19
+ {
20
+ this.time = time;
21
+ this.units = units;
22
+ }
12223
123
- @Override
124
- public int compareTo(Object o) {
125
- return compare(this, (RoughTime)o);
126
- }
24
+ public boolean isDefined()
25
+ {
26
+ return time != UNKNOWN;
27
+ }
12728
29
+ public long getTime()
30
+ {
31
+ return time;
32
+ }
12833
34
+ public void setTime(long time)
35
+ {
36
+ this.time = time;
37
+ }
38
+
39
+ public Date toDate()
40
+ {
41
+ return new Date(time);
42
+ }
43
+
44
+ public boolean after(RoughTime t)
45
+ {
46
+ return t.time < time;
47
+ }
48
+
49
+ public boolean before(RoughTime t)
50
+ {
51
+ return t.time > time;
52
+ }
53
+
54
+ public RoughTime plus(int numUnits)
55
+ {
56
+ return plus(units, numUnits);
57
+ }
58
+
59
+ public RoughTime plus(TimeUnit unit, int times)
60
+ {
61
+ RoughTime r = copy();
62
+ unit.addTo(r, times);
63
+ return r;
64
+ }
65
+
66
+ public String toString()
67
+ {
68
+ if (isKnown())
69
+ {
70
+ return new Date(time).toString();
71
+ }
72
+ return "unknown";
73
+ }
74
+
75
+ public boolean isKnown()
76
+ {
77
+ return time != UNKNOWN;
78
+ }
79
+
80
+ public boolean equals(Object o)
81
+ {
82
+ if (!(o instanceof RoughTime))
83
+ {
84
+ return false;
85
+ }
86
+ RoughTime t = (RoughTime) o;
87
+ return t.units == units && t.time == time;
88
+ }
89
+
90
+ public RoughTime copy()
91
+ {
92
+ RoughTime t = new RoughTime(time, units);
93
+ return t;
94
+ }
95
+
96
+ public void setUnits(TimeUnit units)
97
+ {
98
+ this.units = units;
99
+ }
100
+
101
+ public TimeUnit getUnits()
102
+ {
103
+ return units;
104
+ }
105
+
106
+ public String format()
107
+ {
108
+ //return units.formatFull(time);
109
+ return TimeUnit.SECOND.formatFull(time);
110
+ }
111
+
112
+ public static int compare(RoughTime t1, RoughTime t2)
113
+ {
114
+ if (t1 == t2)
115
+ {
116
+ return 0;
117
+ }
118
+ if (t1 == null)
119
+ {
120
+ return -1;
121
+ }
122
+ if (t2 == null)
123
+ {
124
+ return 1;
125
+ }
126
+ long dt = t1.time - t2.time;
127
+ if (dt == 0)
128
+ {
129
+ return 0;
130
+ }
131
+ if (dt > 0)
132
+ {
133
+ return 1;
134
+ }
135
+ return -1;
136
+ }
137
+
138
+ @Override
139
+ public int compareTo(Object o)
140
+ {
141
+ return compare(this, (RoughTime) o);
142
+ }
129143 }