|
@@ -3,7 +3,7 @@ |
3 |
3 |
|
import org.litesoft.core.typeutils.*; |
4 |
4 |
|
|
5 |
5 |
|
/** |
6 |
|
- |
* A Timestamp with resolution to the MilliSec ("Wall" relative) (with tracking for the Offset Minutes from Zulu). |
|
6 |
+ |
* A Timestamp with resolution to the Second ("Wall" relative) (with tracking for the Offset Minutes from Zulu). |
7 |
7 |
|
* <p/> |
8 |
8 |
|
* Note: This class supports Gregorian dates only. As such when working with |
9 |
9 |
|
* Java Util Date(s) (or it's descendants) the local (or "Wall") date & time is all that is considered! |
|
@@ -15,12 +15,12 @@ |
15 |
15 |
|
@SuppressWarnings({"deprecation", "UnusedDeclaration"}) @Deprecated /** for Serialization */ |
16 |
16 |
|
protected TimestampHMSM() |
17 |
17 |
|
{ |
18 |
|
- |
this( 0, 0, 0, 0, 0, 0, 0, 0 ); |
|
18 |
+ |
this( 0, 1, 1, 0, 0, 0, 0, 0 ); |
19 |
19 |
|
} |
20 |
20 |
|
|
21 |
|
- |
private TimestampHMSM( int pYear, int pMonth, int pDay, int pZuluOffsetMins, int pHour, int pMin, int pSec, int pMilliSec ) |
|
21 |
+ |
public TimestampHMSM( int pYear, int pMonth, int pDay, int pZuluOffsetMins, int pHour, int pMin, int pSec, int pMilliSec ) |
22 |
22 |
|
{ |
23 |
|
- |
super( null ); // TODO: pYear, pMonth, pDay, pZuluOffsetMins, pHour, pMin, pSec, pMilliSec ); |
|
23 |
+ |
super( pYear, pMonth, pDay, pZuluOffsetMins, pHour, pMin, pSec, pMilliSec ); |
24 |
24 |
|
} |
25 |
25 |
|
|
26 |
26 |
|
public TimestampHMSM( TimestampAccessorHMSM pAccessor ) |
|
@@ -30,12 +30,6 @@ |
30 |
30 |
|
pAccessor.getHour(), pAccessor.getMin(), pAccessor.getSec(), pAccessor.getMilliSec() ); |
31 |
31 |
|
} |
32 |
32 |
|
|
33 |
|
- |
@Override |
34 |
|
- |
protected UtilDateAdaptor createWall() |
35 |
|
- |
{ |
36 |
|
- |
return null; // TODO: XXX |
37 |
|
- |
} |
38 |
|
- |
|
39 |
33 |
|
public static TimestampHMSM fromWallTime( int pYear, int pMonth, int pDay, int pHour, int pMin, int pSec, String pFraction ) |
40 |
34 |
|
{ |
41 |
35 |
|
return fromWallTime( pYear, pMonth, pDay, pHour, pMin, pSec, fractionOf1000( pFraction ) ); |
|
@@ -43,7 +37,7 @@ |
43 |
37 |
|
|
44 |
38 |
|
public static TimestampHMSM fromWallTime( int pYear, int pMonth, int pDay, int pHour, int pMin, int pSec, int pMilliSec ) |
45 |
39 |
|
{ |
46 |
|
- |
return new TimestampHMSM( UtilDateAdaptor.wall( pYear, pMonth, pDay, pHour, pMin, pSec, pMilliSec ) ); |
|
40 |
+ |
return new TimestampHMSM( UtilDateAdaptor.currentWall( pYear, pMonth, pDay, pHour, pMin, pSec, pMilliSec ) ); |
47 |
41 |
|
} |
48 |
42 |
|
|
49 |
43 |
|
public static TimestampHMSM fromISO8601( int pYear, int pMonth, int pDay, int pHour, int pMin, int pSec, String pFraction, boolean pZulu, |
|
@@ -57,17 +51,17 @@ |
57 |
51 |
|
{ |
58 |
52 |
|
int zZuluOffsetMins = Integers.deNull( pUTC_offsetMinutes ); |
59 |
53 |
|
Mutable zMutable = new Mutable( pYear, pMonth, pDay, // |
60 |
|
- |
false, // |
|
54 |
+ |
false, zZuluOffsetMins, // |
61 |
55 |
|
pHour, pMin, pSec, pMilliSec ); |
62 |
56 |
|
if ( pZulu || (zZuluOffsetMins == 0) ) |
63 |
57 |
|
{ |
64 |
|
- |
// TODO: zMutable.fromZuluToWall(); |
|
58 |
+ |
zMutable.fromZuluToWall(); |
65 |
59 |
|
} |
66 |
60 |
|
else // !Zulu && zZuluOffsetMins != 0 |
67 |
61 |
|
{ |
68 |
|
- |
// TODO: zMutable.fromOriginalWallToWall(); |
|
62 |
+ |
zMutable.fromOriginalWallToWall(); |
69 |
63 |
|
} |
70 |
|
- |
return null; // TODO: new TimestampHMSM( zMutable ); |
|
64 |
+ |
return new TimestampHMSM( zMutable ); |
71 |
65 |
|
} |
72 |
66 |
|
|
73 |
67 |
|
@Override |
|
@@ -113,9 +107,9 @@ |
113 |
107 |
|
|
114 |
108 |
|
public final String toSQLvalue() |
115 |
109 |
|
{ |
116 |
|
- |
Mutable zMutable = new Mutable( getYear(), getMonth(), getDay(), false, getHour(), getMin(), getSec(), getMilliSec() ); |
117 |
|
- |
// TODO: zMutable.fromWallToZulu(); |
118 |
|
- |
return null; // TODO: formatSQLvalueYMDH( zMutable, true, new StringBuilder() ).toString(); |
|
110 |
+ |
Mutable zMutable = new Mutable( getYear(), getMonth(), getDay(), false, getZuluOffsetMins(), getHour(), getMin(), getSec(), getMilliSec() ); |
|
111 |
+ |
zMutable.fromWallToZulu(); |
|
112 |
+ |
return formatSQLvalueYMDH( zMutable, true, new StringBuilder() ).toString(); |
119 |
113 |
|
} |
120 |
114 |
|
|
121 |
115 |
|
public static TimestampHMSM fromSQLvalue( String pToSQLvalue ) |
|
@@ -135,7 +129,7 @@ |
135 |
129 |
|
@Override |
136 |
130 |
|
public UtilDateAdaptor toUtilDateAdaptor() |
137 |
131 |
|
{ |
138 |
|
- |
return null; // TODO: UtilDateAdaptor.offsetWallToMilliSec( getZuluOffsetMins(), getYear(), getMonth(), getDay(), getHour(), getMin(), getSec(), getMilliSec() ); |
|
132 |
+ |
return UtilDateAdaptor.offsetWallToMilliSec( getZuluOffsetMins(), getYear(), getMonth(), getDay(), getHour(), getMin(), getSec(), getMilliSec() ); |
139 |
133 |
|
} |
140 |
134 |
|
|
141 |
135 |
|
// vvvvvvvvvvvvvvvvvv Non-common Public methods vvvvvvvvvvvvvvvvv |
|
@@ -150,44 +144,50 @@ |
150 |
144 |
|
@Override |
151 |
145 |
|
protected TimestampHMSM createTypeFrom( Mutable pMutable ) |
152 |
146 |
|
{ |
153 |
|
- |
return null; // TODO: new TimestampHMSM( pMutable.getYear(), pMutable.getMonth(), pMutable.getDay(), // |
154 |
|
- |
// pMutable.getZuluOffsetMins(), // |
155 |
|
- |
// pMutable.getHour(), pMutable.getMin(), pMutable.getSec(), pMutable.getMilliSec() ); |
|
147 |
+ |
return new TimestampHMSM( pMutable.getYear(), pMutable.getMonth(), pMutable.getDay(), // |
|
148 |
+ |
pMutable.getZuluOffsetMins(), // |
|
149 |
+ |
pMutable.getHour(), pMutable.getMin(), pMutable.getSec(), pMutable.getMilliSec() ); |
|
150 |
+ |
} |
|
151 |
+ |
|
|
152 |
+ |
@Override |
|
153 |
+ |
protected Mutable createMutable( int pNewYear ) |
|
154 |
+ |
{ |
|
155 |
+ |
return new Mutable( pNewYear, getMonth(), getDay(), true, getZuluOffsetMins(), getHour(), getMin(), getSec(), getMilliSec() ); |
156 |
156 |
|
} |
157 |
157 |
|
|
158 |
158 |
|
@Override |
159 |
159 |
|
protected Mutable createMutable( int pYear, int pNewMonth ) |
160 |
160 |
|
{ |
161 |
|
- |
return new Mutable( pYear, pNewMonth, getDay(), true, getHour(), getMin(), getSec(), getMilliSec() ); |
|
161 |
+ |
return new Mutable( pYear, pNewMonth, getDay(), true, getZuluOffsetMins(), getHour(), getMin(), getSec(), getMilliSec() ); |
162 |
162 |
|
} |
163 |
163 |
|
|
164 |
164 |
|
@Override |
165 |
165 |
|
protected Mutable createMutable( int pYear, int pMonth, int pNewDay ) |
166 |
166 |
|
{ |
167 |
|
- |
return new Mutable( pYear, pMonth, pNewDay, false, getHour(), getMin(), getSec(), getMilliSec() ); |
|
167 |
+ |
return new Mutable( pYear, pMonth, pNewDay, false, getZuluOffsetMins(), getHour(), getMin(), getSec(), getMilliSec() ); |
168 |
168 |
|
} |
169 |
169 |
|
|
170 |
170 |
|
@Override |
171 |
171 |
|
protected Mutable createMutable( int pYear, int pMonth, int pDay, int pNewHour ) |
172 |
172 |
|
{ |
173 |
|
- |
return new Mutable( pYear, pMonth, pDay, false, pNewHour, getMin(), getSec(), getMilliSec() ); |
|
173 |
+ |
return new Mutable( pYear, pMonth, pDay, false, getZuluOffsetMins(), pNewHour, getMin(), getSec(), getMilliSec() ); |
174 |
174 |
|
} |
175 |
175 |
|
|
176 |
176 |
|
@Override |
177 |
177 |
|
protected Mutable createMutable( int pYear, int pMonth, int pDay, int pHour, int pNewMin ) |
178 |
178 |
|
{ |
179 |
|
- |
return new Mutable( pYear, pMonth, pDay, false, pHour, pNewMin, getSec(), getMilliSec() ); |
|
179 |
+ |
return new Mutable( pYear, pMonth, pDay, false, getZuluOffsetMins(), pHour, pNewMin, getSec(), getMilliSec() ); |
180 |
180 |
|
} |
181 |
181 |
|
|
182 |
182 |
|
@Override |
183 |
183 |
|
protected Mutable createMutable( int pYear, int pMonth, int pDay, int pHour, int pMin, int pNewSec ) |
184 |
184 |
|
{ |
185 |
|
- |
return new Mutable( pYear, pMonth, pDay, false, pHour, pMin, pNewSec, getMilliSec() ); |
|
185 |
+ |
return new Mutable( pYear, pMonth, pDay, false, getZuluOffsetMins(), pHour, pMin, pNewSec, getMilliSec() ); |
186 |
186 |
|
} |
187 |
187 |
|
|
188 |
188 |
|
@Override |
189 |
189 |
|
protected Mutable createMutable( int pYear, int pMonth, int pDay, int pHour, int pMin, int pSec, int pNewMilliSec ) |
190 |
190 |
|
{ |
191 |
|
- |
return new Mutable( pYear, pMonth, pDay, false, pHour, pMin, pSec, pNewMilliSec ); |
|
191 |
+ |
return new Mutable( pYear, pMonth, pDay, false, getZuluOffsetMins(), pHour, pMin, pSec, pNewMilliSec ); |
192 |
192 |
|
} |
193 |
193 |
|
} |