@@ -94,29 +94,29 @@ class DateTimeUtilsSuite extends SparkFunSuite {
9494 var c = Calendar .getInstance()
9595 c.set(2015 , 0 , 28 , 0 , 0 , 0 )
9696 c.set(Calendar .MILLISECOND , 0 )
97- assert(DateTimeUtils .stringToDate(UTF8String .fromString(" 2015-01-28" )).get ==
97+ assert(DateTimeUtils .stringToDate(UTF8String .fromString(" 2015-01-28" )).get ===
9898 c.getTimeInMillis / millisPerDay)
9999 c.set(2015 , 0 , 1 , 0 , 0 , 0 )
100100 c.set(Calendar .MILLISECOND , 0 )
101- assert(DateTimeUtils .stringToDate(UTF8String .fromString(" 2015" )).get ==
101+ assert(DateTimeUtils .stringToDate(UTF8String .fromString(" 2015" )).get ===
102102 c.getTimeInMillis / millisPerDay)
103103 c = Calendar .getInstance()
104104 c.set(2015 , 2 , 1 , 0 , 0 , 0 )
105105 c.set(Calendar .MILLISECOND , 0 )
106- assert(DateTimeUtils .stringToDate(UTF8String .fromString(" 2015-03" )).get ==
106+ assert(DateTimeUtils .stringToDate(UTF8String .fromString(" 2015-03" )).get ===
107107 c.getTimeInMillis / millisPerDay)
108108 c = Calendar .getInstance()
109109 c.set(2015 , 2 , 18 , 0 , 0 , 0 )
110110 c.set(Calendar .MILLISECOND , 0 )
111- assert(DateTimeUtils .stringToDate(UTF8String .fromString(" 2015-03-18" )).get ==
111+ assert(DateTimeUtils .stringToDate(UTF8String .fromString(" 2015-03-18" )).get ===
112112 c.getTimeInMillis / millisPerDay)
113- assert(DateTimeUtils .stringToDate(UTF8String .fromString(" 2015-03-18 " )).get ==
113+ assert(DateTimeUtils .stringToDate(UTF8String .fromString(" 2015-03-18 " )).get ===
114114 c.getTimeInMillis / millisPerDay)
115- assert(DateTimeUtils .stringToDate(UTF8String .fromString(" 2015-03-18 123142" )).get ==
115+ assert(DateTimeUtils .stringToDate(UTF8String .fromString(" 2015-03-18 123142" )).get ===
116116 c.getTimeInMillis / millisPerDay)
117- assert(DateTimeUtils .stringToDate(UTF8String .fromString(" 2015-03-18T123123" )).get ==
117+ assert(DateTimeUtils .stringToDate(UTF8String .fromString(" 2015-03-18T123123" )).get ===
118118 c.getTimeInMillis / millisPerDay)
119- assert(DateTimeUtils .stringToDate(UTF8String .fromString(" 2015-03-18T" )).get ==
119+ assert(DateTimeUtils .stringToDate(UTF8String .fromString(" 2015-03-18T" )).get ===
120120 c.getTimeInMillis / millisPerDay)
121121
122122 assert(DateTimeUtils .stringToDate(UTF8String .fromString(" 2015-03-18X" )).isEmpty)
@@ -130,117 +130,117 @@ class DateTimeUtilsSuite extends SparkFunSuite {
130130 var c = Calendar .getInstance()
131131 c.set(1969 , 11 , 31 , 16 , 0 , 0 )
132132 c.set(Calendar .MILLISECOND , 0 )
133- assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 1969-12-31 16:00:00" )).get ==
133+ assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 1969-12-31 16:00:00" )).get ===
134134 c.getTimeInMillis * 1000 )
135135 c.set(2015 , 0 , 1 , 0 , 0 , 0 )
136136 c.set(Calendar .MILLISECOND , 0 )
137- assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015" )).get ==
137+ assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015" )).get ===
138138 c.getTimeInMillis * 1000 )
139139 c = Calendar .getInstance()
140140 c.set(2015 , 2 , 1 , 0 , 0 , 0 )
141141 c.set(Calendar .MILLISECOND , 0 )
142- assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03" )).get ==
142+ assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03" )).get ===
143143 c.getTimeInMillis * 1000 )
144144 c = Calendar .getInstance()
145145 c.set(2015 , 2 , 18 , 0 , 0 , 0 )
146146 c.set(Calendar .MILLISECOND , 0 )
147- assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03-18" )).get ==
147+ assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03-18" )).get ===
148148 c.getTimeInMillis * 1000 )
149- assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03-18 " )).get ==
149+ assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03-18 " )).get ===
150150 c.getTimeInMillis * 1000 )
151- assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03-18T" )).get ==
151+ assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03-18T" )).get ===
152152 c.getTimeInMillis * 1000 )
153153
154154 c = Calendar .getInstance()
155155 c.set(2015 , 2 , 18 , 12 , 3 , 17 )
156156 c.set(Calendar .MILLISECOND , 0 )
157- assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03-18 12:03:17" )).get ==
157+ assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03-18 12:03:17" )).get ===
158158 c.getTimeInMillis * 1000 )
159- assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03-18T12:03:17" )).get ==
159+ assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03-18T12:03:17" )).get ===
160160 c.getTimeInMillis * 1000 )
161161
162162 c = Calendar .getInstance(TimeZone .getTimeZone(" GMT-13:53" ))
163163 c.set(2015 , 2 , 18 , 12 , 3 , 17 )
164164 c.set(Calendar .MILLISECOND , 0 )
165165 assert(DateTimeUtils .stringToTimestamp(
166- UTF8String .fromString(" 2015-03-18T12:03:17-13:53" )).get == c.getTimeInMillis * 1000 )
166+ UTF8String .fromString(" 2015-03-18T12:03:17-13:53" )).get === c.getTimeInMillis * 1000 )
167167
168168 c = Calendar .getInstance(TimeZone .getTimeZone(" UTC" ))
169169 c.set(2015 , 2 , 18 , 12 , 3 , 17 )
170170 c.set(Calendar .MILLISECOND , 0 )
171- assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03-18T12:03:17Z" )).get ==
171+ assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03-18T12:03:17Z" )).get ===
172172 c.getTimeInMillis * 1000 )
173- assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03-18 12:03:17Z" )).get ==
173+ assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03-18 12:03:17Z" )).get ===
174174 c.getTimeInMillis * 1000 )
175175
176176 c = Calendar .getInstance(TimeZone .getTimeZone(" GMT-01:00" ))
177177 c.set(2015 , 2 , 18 , 12 , 3 , 17 )
178178 c.set(Calendar .MILLISECOND , 0 )
179- assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03-18T12:03:17-1:0" )).get ==
179+ assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03-18T12:03:17-1:0" )).get ===
180180 c.getTimeInMillis * 1000 )
181181 assert(DateTimeUtils .stringToTimestamp(
182- UTF8String .fromString(" 2015-03-18T12:03:17-01:00" )).get == c.getTimeInMillis * 1000 )
182+ UTF8String .fromString(" 2015-03-18T12:03:17-01:00" )).get === c.getTimeInMillis * 1000 )
183183
184184 c = Calendar .getInstance(TimeZone .getTimeZone(" GMT+07:30" ))
185185 c.set(2015 , 2 , 18 , 12 , 3 , 17 )
186186 c.set(Calendar .MILLISECOND , 0 )
187187 assert(DateTimeUtils .stringToTimestamp(
188- UTF8String .fromString(" 2015-03-18T12:03:17+07:30" )).get == c.getTimeInMillis * 1000 )
188+ UTF8String .fromString(" 2015-03-18T12:03:17+07:30" )).get === c.getTimeInMillis * 1000 )
189189
190190 c = Calendar .getInstance(TimeZone .getTimeZone(" GMT+07:03" ))
191191 c.set(2015 , 2 , 18 , 12 , 3 , 17 )
192192 c.set(Calendar .MILLISECOND , 0 )
193193 assert(DateTimeUtils .stringToTimestamp(
194- UTF8String .fromString(" 2015-03-18T12:03:17+07:03" )).get == c.getTimeInMillis * 1000 )
194+ UTF8String .fromString(" 2015-03-18T12:03:17+07:03" )).get === c.getTimeInMillis * 1000 )
195195
196196 c = Calendar .getInstance()
197197 c.set(2015 , 2 , 18 , 12 , 3 , 17 )
198198 c.set(Calendar .MILLISECOND , 123 )
199199 assert(DateTimeUtils .stringToTimestamp(
200- UTF8String .fromString(" 2015-03-18 12:03:17.123" )).get == c.getTimeInMillis * 1000 )
200+ UTF8String .fromString(" 2015-03-18 12:03:17.123" )).get === c.getTimeInMillis * 1000 )
201201 assert(DateTimeUtils .stringToTimestamp(
202- UTF8String .fromString(" 2015-03-18T12:03:17.123" )).get == c.getTimeInMillis * 1000 )
202+ UTF8String .fromString(" 2015-03-18T12:03:17.123" )).get === c.getTimeInMillis * 1000 )
203203
204204 c = Calendar .getInstance(TimeZone .getTimeZone(" UTC" ))
205205 c.set(2015 , 2 , 18 , 12 , 3 , 17 )
206206 c.set(Calendar .MILLISECOND , 456 )
207207 assert(DateTimeUtils .stringToTimestamp(
208- UTF8String .fromString(" 2015-03-18T12:03:17.456Z" )).get == c.getTimeInMillis * 1000 )
208+ UTF8String .fromString(" 2015-03-18T12:03:17.456Z" )).get === c.getTimeInMillis * 1000 )
209209 assert(DateTimeUtils .stringToTimestamp(
210- UTF8String .fromString(" 2015-03-18 12:03:17.456Z" )).get == c.getTimeInMillis * 1000 )
210+ UTF8String .fromString(" 2015-03-18 12:03:17.456Z" )).get === c.getTimeInMillis * 1000 )
211211
212212 c = Calendar .getInstance(TimeZone .getTimeZone(" GMT-01:00" ))
213213 c.set(2015 , 2 , 18 , 12 , 3 , 17 )
214214 c.set(Calendar .MILLISECOND , 123 )
215215 assert(DateTimeUtils .stringToTimestamp(
216- UTF8String .fromString(" 2015-03-18T12:03:17.123-1:0" )).get == c.getTimeInMillis * 1000 )
216+ UTF8String .fromString(" 2015-03-18T12:03:17.123-1:0" )).get === c.getTimeInMillis * 1000 )
217217 assert(DateTimeUtils .stringToTimestamp(
218- UTF8String .fromString(" 2015-03-18T12:03:17.123-01:00" )).get == c.getTimeInMillis * 1000 )
218+ UTF8String .fromString(" 2015-03-18T12:03:17.123-01:00" )).get === c.getTimeInMillis * 1000 )
219219
220220 c = Calendar .getInstance(TimeZone .getTimeZone(" GMT+07:30" ))
221221 c.set(2015 , 2 , 18 , 12 , 3 , 17 )
222222 c.set(Calendar .MILLISECOND , 123 )
223223 assert(DateTimeUtils .stringToTimestamp(
224- UTF8String .fromString(" 2015-03-18T12:03:17.123+07:30" )).get == c.getTimeInMillis * 1000 )
224+ UTF8String .fromString(" 2015-03-18T12:03:17.123+07:30" )).get === c.getTimeInMillis * 1000 )
225225
226226 c = Calendar .getInstance(TimeZone .getTimeZone(" GMT+07:30" ))
227227 c.set(2015 , 2 , 18 , 12 , 3 , 17 )
228228 c.set(Calendar .MILLISECOND , 123 )
229229 assert(DateTimeUtils .stringToTimestamp(
230- UTF8String .fromString(" 2015-03-18T12:03:17.123+07:30" )).get == c.getTimeInMillis * 1000 )
230+ UTF8String .fromString(" 2015-03-18T12:03:17.123+07:30" )).get === c.getTimeInMillis * 1000 )
231231
232232 c = Calendar .getInstance(TimeZone .getTimeZone(" GMT+07:30" ))
233233 c.set(2015 , 2 , 18 , 12 , 3 , 17 )
234234 c.set(Calendar .MILLISECOND , 123 )
235235 assert(DateTimeUtils .stringToTimestamp(
236- UTF8String .fromString(" 2015-03-18T12:03:17.123121+7:30" )).get ==
236+ UTF8String .fromString(" 2015-03-18T12:03:17.123121+7:30" )).get ===
237237 c.getTimeInMillis * 1000 + 121 )
238238
239239 c = Calendar .getInstance(TimeZone .getTimeZone(" GMT+07:30" ))
240240 c.set(2015 , 2 , 18 , 12 , 3 , 17 )
241241 c.set(Calendar .MILLISECOND , 123 )
242242 assert(DateTimeUtils .stringToTimestamp(
243- UTF8String .fromString(" 2015-03-18T12:03:17.12312+7:30" )).get ==
243+ UTF8String .fromString(" 2015-03-18T12:03:17.12312+7:30" )).get ===
244244 c.getTimeInMillis * 1000 + 120 )
245245
246246 c = Calendar .getInstance(TimeZone .getTimeZone(" GMT+07:30" ))
@@ -249,7 +249,7 @@ class DateTimeUtilsSuite extends SparkFunSuite {
249249 c.set(Calendar .SECOND , 15 )
250250 c.set(Calendar .MILLISECOND , 123 )
251251 assert(DateTimeUtils .stringToTimestamp(
252- UTF8String .fromString(" T18:12:15.12312+7:30" )).get ==
252+ UTF8String .fromString(" T18:12:15.12312+7:30" )).get ===
253253 c.getTimeInMillis * 1000 + 120 )
254254
255255 c = Calendar .getInstance(TimeZone .getTimeZone(" GMT+07:30" ))
@@ -258,14 +258,36 @@ class DateTimeUtilsSuite extends SparkFunSuite {
258258 c.set(Calendar .SECOND , 15 )
259259 c.set(Calendar .MILLISECOND , 123 )
260260 assert(DateTimeUtils .stringToTimestamp(
261- UTF8String .fromString(" 18:12:15.12312+7:30" )).get ==
261+ UTF8String .fromString(" 18:12:15.12312+7:30" )).get ===
262262 c.getTimeInMillis * 1000 + 120 )
263263
264264 c = Calendar .getInstance()
265265 c.set(2011 , 4 , 6 , 7 , 8 , 9 )
266266 c.set(Calendar .MILLISECOND , 100 )
267267 assert(DateTimeUtils .stringToTimestamp(
268- UTF8String .fromString(" 2011-05-06 07:08:09.1000" )).get == c.getTimeInMillis * 1000 )
268+ UTF8String .fromString(" 2011-05-06 07:08:09.1000" )).get === c.getTimeInMillis * 1000 )
269+
270+ val defaultTimeZone = TimeZone .getDefault
271+ TimeZone .setDefault(TimeZone .getTimeZone(" America/Los_Angeles" ))
272+
273+ c = Calendar .getInstance()
274+ c.set(2015 , 2 , 8 , 2 , 0 , 0 )
275+ c.set(Calendar .MILLISECOND , 0 )
276+ assert(DateTimeUtils .stringToTimestamp(
277+ UTF8String .fromString(" 2015-3-8 2:0:0" )).get === c.getTimeInMillis * 1000 )
278+ c.add(Calendar .MINUTE , 30 )
279+ assert(DateTimeUtils .stringToTimestamp(
280+ UTF8String .fromString(" 2015-3-8 3:30:0" )).get === c.getTimeInMillis * 1000 )
281+ assert(DateTimeUtils .stringToTimestamp(
282+ UTF8String .fromString(" 2015-3-8 2:30:0" )).get === c.getTimeInMillis * 1000 )
283+
284+ c = Calendar .getInstance()
285+ c.set(2015 , 10 , 1 , 1 , 59 , 0 )
286+ c.set(Calendar .MILLISECOND , 0 )
287+ c.add(Calendar .MINUTE , 31 )
288+ assert(DateTimeUtils .stringToTimestamp(
289+ UTF8String .fromString(" 2015-11-1 2:30:0" )).get === c.getTimeInMillis * 1000 )
290+ TimeZone .setDefault(defaultTimeZone)
269291
270292 assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 238" )).isEmpty)
271293 assert(DateTimeUtils .stringToTimestamp(UTF8String .fromString(" 2015-03-18 123142" )).isEmpty)
0 commit comments