1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.joda.time.format;
17
18 import java.util.Locale;
19 import java.util.TimeZone;
20
21 import junit.framework.TestCase;
22 import junit.framework.TestSuite;
23
24 import org.joda.time.DateTime;
25 import org.joda.time.DateTimeConstants;
26 import org.joda.time.DateTimeFieldType;
27 import org.joda.time.DateTimeUtils;
28 import org.joda.time.DateTimeZone;
29 import org.joda.time.Partial;
30
31
32
33
34
35
36 public class TestISODateTimeFormat extends TestCase {
37
38 private static final DateTimeZone UTC = DateTimeZone.UTC;
39 private static final DateTimeZone PARIS = DateTimeZone.forID("Europe/Paris");
40 private static final DateTimeZone LONDON = DateTimeZone.forID("Europe/London");
41 private static final DateTimeZone TOKYO = DateTimeZone.forID("Asia/Tokyo");
42
43 long y2002days = 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 +
44 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 +
45 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 +
46 366 + 365;
47
48 private long TEST_TIME_NOW =
49 (y2002days + 31L + 28L + 31L + 30L + 31L + 9L -1L) * DateTimeConstants.MILLIS_PER_DAY;
50
51 private DateTimeZone originalDateTimeZone = null;
52 private TimeZone originalTimeZone = null;
53 private Locale originalLocale = null;
54
55 public static void main(String[] args) {
56 junit.textui.TestRunner.run(suite());
57 }
58
59 public static TestSuite suite() {
60 return new TestSuite(TestISODateTimeFormat.class);
61 }
62
63 public TestISODateTimeFormat(String name) {
64 super(name);
65 }
66
67 protected void setUp() throws Exception {
68 DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
69 originalDateTimeZone = DateTimeZone.getDefault();
70 originalTimeZone = TimeZone.getDefault();
71 originalLocale = Locale.getDefault();
72 DateTimeZone.setDefault(LONDON);
73 TimeZone.setDefault(TimeZone.getTimeZone("Europe/London"));
74 Locale.setDefault(Locale.UK);
75 }
76
77 protected void tearDown() throws Exception {
78 DateTimeUtils.setCurrentMillisSystem();
79 DateTimeZone.setDefault(originalDateTimeZone);
80 TimeZone.setDefault(originalTimeZone);
81 Locale.setDefault(originalLocale);
82 originalDateTimeZone = null;
83 originalTimeZone = null;
84 originalLocale = null;
85 }
86
87
88 public void testSubclassableConstructor() {
89 ISODateTimeFormat f = new ISODateTimeFormat() {
90
91 };
92 assertNotNull(f);
93 }
94
95
96 public void testFormat_date() {
97 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
98 assertEquals("2004-06-09", ISODateTimeFormat.date().print(dt));
99
100 dt = dt.withZone(LONDON);
101 assertEquals("2004-06-09", ISODateTimeFormat.date().print(dt));
102
103 dt = dt.withZone(PARIS);
104 assertEquals("2004-06-09", ISODateTimeFormat.date().print(dt));
105 }
106
107 public void testFormat_date_partial() {
108 Partial dt = new Partial(
109 new DateTimeFieldType[] {DateTimeFieldType.year(), DateTimeFieldType.monthOfYear(), DateTimeFieldType.dayOfMonth()},
110 new int[] {2004, 6, 9});
111 assertEquals("2004-06-09", ISODateTimeFormat.date().print(dt));
112 }
113
114 public void testFormat_time() {
115 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
116 assertEquals("10:20:30.040Z", ISODateTimeFormat.time().print(dt));
117
118 dt = dt.withZone(LONDON);
119 assertEquals("11:20:30.040+01:00", ISODateTimeFormat.time().print(dt));
120
121 dt = dt.withZone(PARIS);
122 assertEquals("12:20:30.040+02:00", ISODateTimeFormat.time().print(dt));
123 }
124
125 public void testFormat_time_partial() {
126 Partial dt = new Partial(
127 new DateTimeFieldType[] {DateTimeFieldType.hourOfDay(), DateTimeFieldType.minuteOfHour(),
128 DateTimeFieldType.secondOfMinute(), DateTimeFieldType.millisOfSecond()},
129 new int[] {10, 20, 30, 40});
130 assertEquals("10:20:30.040", ISODateTimeFormat.time().print(dt));
131 }
132
133 public void testFormat_timeNoMillis() {
134 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
135 assertEquals("10:20:30Z", ISODateTimeFormat.timeNoMillis().print(dt));
136
137 dt = dt.withZone(LONDON);
138 assertEquals("11:20:30+01:00", ISODateTimeFormat.timeNoMillis().print(dt));
139
140 dt = dt.withZone(PARIS);
141 assertEquals("12:20:30+02:00", ISODateTimeFormat.timeNoMillis().print(dt));
142 }
143
144 public void testFormat_timeNoMillis_partial() {
145 Partial dt = new Partial(
146 new DateTimeFieldType[] {DateTimeFieldType.hourOfDay(), DateTimeFieldType.minuteOfHour(),
147 DateTimeFieldType.secondOfMinute(), DateTimeFieldType.millisOfSecond()},
148 new int[] {10, 20, 30, 40});
149 assertEquals("10:20:30", ISODateTimeFormat.timeNoMillis().print(dt));
150 }
151
152 public void testFormat_tTime() {
153 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
154 assertEquals("T10:20:30.040Z", ISODateTimeFormat.tTime().print(dt));
155
156 dt = dt.withZone(LONDON);
157 assertEquals("T11:20:30.040+01:00", ISODateTimeFormat.tTime().print(dt));
158
159 dt = dt.withZone(PARIS);
160 assertEquals("T12:20:30.040+02:00", ISODateTimeFormat.tTime().print(dt));
161 }
162
163 public void testFormat_tTimeNoMillis() {
164 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
165 assertEquals("T10:20:30Z", ISODateTimeFormat.tTimeNoMillis().print(dt));
166
167 dt = dt.withZone(LONDON);
168 assertEquals("T11:20:30+01:00", ISODateTimeFormat.tTimeNoMillis().print(dt));
169
170 dt = dt.withZone(PARIS);
171 assertEquals("T12:20:30+02:00", ISODateTimeFormat.tTimeNoMillis().print(dt));
172 }
173
174 public void testFormat_dateTime() {
175 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
176 assertEquals("2004-06-09T10:20:30.040Z", ISODateTimeFormat.dateTime().print(dt));
177
178 dt = dt.withZone(LONDON);
179 assertEquals("2004-06-09T11:20:30.040+01:00", ISODateTimeFormat.dateTime().print(dt));
180
181 dt = dt.withZone(PARIS);
182 assertEquals("2004-06-09T12:20:30.040+02:00", ISODateTimeFormat.dateTime().print(dt));
183
184
185
186
187
188
189
190
191
192
193
194
195 }
196
197 public void testFormat_dateTimeNoMillis() {
198 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
199 assertEquals("2004-06-09T10:20:30Z", ISODateTimeFormat.dateTimeNoMillis().print(dt));
200
201 dt = dt.withZone(LONDON);
202 assertEquals("2004-06-09T11:20:30+01:00", ISODateTimeFormat.dateTimeNoMillis().print(dt));
203
204 dt = dt.withZone(PARIS);
205 assertEquals("2004-06-09T12:20:30+02:00", ISODateTimeFormat.dateTimeNoMillis().print(dt));
206 }
207
208 public void testFormat_ordinalDate() {
209 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
210 assertEquals("2004-161", ISODateTimeFormat.ordinalDate().print(dt));
211
212 dt = dt.withZone(LONDON);
213 assertEquals("2004-161", ISODateTimeFormat.ordinalDate().print(dt));
214
215 dt = dt.withZone(PARIS);
216 assertEquals("2004-161", ISODateTimeFormat.ordinalDate().print(dt));
217 }
218
219 public void testFormat_ordinalDateTime() {
220 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
221 assertEquals("2004-161T10:20:30.040Z", ISODateTimeFormat.ordinalDateTime().print(dt));
222
223 dt = dt.withZone(LONDON);
224 assertEquals("2004-161T11:20:30.040+01:00", ISODateTimeFormat.ordinalDateTime().print(dt));
225
226 dt = dt.withZone(PARIS);
227 assertEquals("2004-161T12:20:30.040+02:00", ISODateTimeFormat.ordinalDateTime().print(dt));
228 }
229
230 public void testFormat_ordinalDateTimeNoMillis() {
231 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
232 assertEquals("2004-161T10:20:30Z", ISODateTimeFormat.ordinalDateTimeNoMillis().print(dt));
233
234 dt = dt.withZone(LONDON);
235 assertEquals("2004-161T11:20:30+01:00", ISODateTimeFormat.ordinalDateTimeNoMillis().print(dt));
236
237 dt = dt.withZone(PARIS);
238 assertEquals("2004-161T12:20:30+02:00", ISODateTimeFormat.ordinalDateTimeNoMillis().print(dt));
239 }
240
241 public void testFormat_weekDate() {
242 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
243 assertEquals("2004-W24-3", ISODateTimeFormat.weekDate().print(dt));
244
245 dt = dt.withZone(LONDON);
246 assertEquals("2004-W24-3", ISODateTimeFormat.weekDate().print(dt));
247
248 dt = dt.withZone(PARIS);
249 assertEquals("2004-W24-3", ISODateTimeFormat.weekDate().print(dt));
250 }
251
252 public void testFormat_weekDateTime() {
253 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
254 assertEquals("2004-W24-3T10:20:30.040Z", ISODateTimeFormat.weekDateTime().print(dt));
255
256 dt = dt.withZone(LONDON);
257 assertEquals("2004-W24-3T11:20:30.040+01:00", ISODateTimeFormat.weekDateTime().print(dt));
258
259 dt = dt.withZone(PARIS);
260 assertEquals("2004-W24-3T12:20:30.040+02:00", ISODateTimeFormat.weekDateTime().print(dt));
261 }
262
263 public void testFormat_weekDateTimeNoMillis() {
264 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
265 assertEquals("2004-W24-3T10:20:30Z", ISODateTimeFormat.weekDateTimeNoMillis().print(dt));
266
267 dt = dt.withZone(LONDON);
268 assertEquals("2004-W24-3T11:20:30+01:00", ISODateTimeFormat.weekDateTimeNoMillis().print(dt));
269
270 dt = dt.withZone(PARIS);
271 assertEquals("2004-W24-3T12:20:30+02:00", ISODateTimeFormat.weekDateTimeNoMillis().print(dt));
272 }
273
274
275 public void testFormat_basicDate() {
276 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
277 assertEquals("20040609", ISODateTimeFormat.basicDate().print(dt));
278
279 dt = dt.withZone(LONDON);
280 assertEquals("20040609", ISODateTimeFormat.basicDate().print(dt));
281
282 dt = dt.withZone(PARIS);
283 assertEquals("20040609", ISODateTimeFormat.basicDate().print(dt));
284 }
285
286 public void testFormat_basicTime() {
287 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
288 assertEquals("102030.040Z", ISODateTimeFormat.basicTime().print(dt));
289
290 dt = dt.withZone(LONDON);
291 assertEquals("112030.040+0100", ISODateTimeFormat.basicTime().print(dt));
292
293 dt = dt.withZone(PARIS);
294 assertEquals("122030.040+0200", ISODateTimeFormat.basicTime().print(dt));
295 }
296
297 public void testFormat_basicTimeNoMillis() {
298 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
299 assertEquals("102030Z", ISODateTimeFormat.basicTimeNoMillis().print(dt));
300
301 dt = dt.withZone(LONDON);
302 assertEquals("112030+0100", ISODateTimeFormat.basicTimeNoMillis().print(dt));
303
304 dt = dt.withZone(PARIS);
305 assertEquals("122030+0200", ISODateTimeFormat.basicTimeNoMillis().print(dt));
306 }
307
308 public void testFormat_basicTTime() {
309 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
310 assertEquals("T102030.040Z", ISODateTimeFormat.basicTTime().print(dt));
311
312 dt = dt.withZone(LONDON);
313 assertEquals("T112030.040+0100", ISODateTimeFormat.basicTTime().print(dt));
314
315 dt = dt.withZone(PARIS);
316 assertEquals("T122030.040+0200", ISODateTimeFormat.basicTTime().print(dt));
317 }
318
319 public void testFormat_basicTTimeNoMillis() {
320 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
321 assertEquals("T102030Z", ISODateTimeFormat.basicTTimeNoMillis().print(dt));
322
323 dt = dt.withZone(LONDON);
324 assertEquals("T112030+0100", ISODateTimeFormat.basicTTimeNoMillis().print(dt));
325
326 dt = dt.withZone(PARIS);
327 assertEquals("T122030+0200", ISODateTimeFormat.basicTTimeNoMillis().print(dt));
328 }
329
330 public void testFormat_basicDateTime() {
331 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
332 assertEquals("20040609T102030.040Z", ISODateTimeFormat.basicDateTime().print(dt));
333
334 dt = dt.withZone(LONDON);
335 assertEquals("20040609T112030.040+0100", ISODateTimeFormat.basicDateTime().print(dt));
336
337 dt = dt.withZone(PARIS);
338 assertEquals("20040609T122030.040+0200", ISODateTimeFormat.basicDateTime().print(dt));
339 }
340
341 public void testFormat_basicDateTimeNoMillis() {
342 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
343 assertEquals("20040609T102030Z", ISODateTimeFormat.basicDateTimeNoMillis().print(dt));
344
345 dt = dt.withZone(LONDON);
346 assertEquals("20040609T112030+0100", ISODateTimeFormat.basicDateTimeNoMillis().print(dt));
347
348 dt = dt.withZone(PARIS);
349 assertEquals("20040609T122030+0200", ISODateTimeFormat.basicDateTimeNoMillis().print(dt));
350 }
351
352 public void testFormat_basicOrdinalDate() {
353 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
354 assertEquals("2004161", ISODateTimeFormat.basicOrdinalDate().print(dt));
355
356 dt = dt.withZone(LONDON);
357 assertEquals("2004161", ISODateTimeFormat.basicOrdinalDate().print(dt));
358
359 dt = dt.withZone(PARIS);
360 assertEquals("2004161", ISODateTimeFormat.basicOrdinalDate().print(dt));
361 }
362
363 public void testFormat_basicOrdinalDateTime() {
364 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
365 assertEquals("2004161T102030.040Z", ISODateTimeFormat.basicOrdinalDateTime().print(dt));
366
367 dt = dt.withZone(LONDON);
368 assertEquals("2004161T112030.040+0100", ISODateTimeFormat.basicOrdinalDateTime().print(dt));
369
370 dt = dt.withZone(PARIS);
371 assertEquals("2004161T122030.040+0200", ISODateTimeFormat.basicOrdinalDateTime().print(dt));
372 }
373
374 public void testFormat_basicOrdinalDateTimeNoMillis() {
375 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
376 assertEquals("2004161T102030Z", ISODateTimeFormat.basicOrdinalDateTimeNoMillis().print(dt));
377
378 dt = dt.withZone(LONDON);
379 assertEquals("2004161T112030+0100", ISODateTimeFormat.basicOrdinalDateTimeNoMillis().print(dt));
380
381 dt = dt.withZone(PARIS);
382 assertEquals("2004161T122030+0200", ISODateTimeFormat.basicOrdinalDateTimeNoMillis().print(dt));
383 }
384
385 public void testFormat_basicWeekDate() {
386 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
387 assertEquals("2004W243", ISODateTimeFormat.basicWeekDate().print(dt));
388
389 dt = dt.withZone(LONDON);
390 assertEquals("2004W243", ISODateTimeFormat.basicWeekDate().print(dt));
391
392 dt = dt.withZone(PARIS);
393 assertEquals("2004W243", ISODateTimeFormat.basicWeekDate().print(dt));
394 }
395
396 public void testFormat_basicWeekDateTime() {
397 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
398 assertEquals("2004W243T102030.040Z", ISODateTimeFormat.basicWeekDateTime().print(dt));
399
400 dt = dt.withZone(LONDON);
401 assertEquals("2004W243T112030.040+0100", ISODateTimeFormat.basicWeekDateTime().print(dt));
402
403 dt = dt.withZone(PARIS);
404 assertEquals("2004W243T122030.040+0200", ISODateTimeFormat.basicWeekDateTime().print(dt));
405 }
406
407 public void testFormat_basicWeekDateTimeNoMillis() {
408 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
409 assertEquals("2004W243T102030Z", ISODateTimeFormat.basicWeekDateTimeNoMillis().print(dt));
410
411 dt = dt.withZone(LONDON);
412 assertEquals("2004W243T112030+0100", ISODateTimeFormat.basicWeekDateTimeNoMillis().print(dt));
413
414 dt = dt.withZone(PARIS);
415 assertEquals("2004W243T122030+0200", ISODateTimeFormat.basicWeekDateTimeNoMillis().print(dt));
416 }
417
418
419 public void testFormat_year() {
420 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
421 assertEquals("2004", ISODateTimeFormat.year().print(dt));
422
423 dt = dt.withZone(LONDON);
424 assertEquals("2004", ISODateTimeFormat.year().print(dt));
425
426 dt = dt.withZone(PARIS);
427 assertEquals("2004", ISODateTimeFormat.year().print(dt));
428 }
429
430 public void testFormat_yearMonth() {
431 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
432 assertEquals("2004-06", ISODateTimeFormat.yearMonth().print(dt));
433
434 dt = dt.withZone(LONDON);
435 assertEquals("2004-06", ISODateTimeFormat.yearMonth().print(dt));
436
437 dt = dt.withZone(PARIS);
438 assertEquals("2004-06", ISODateTimeFormat.yearMonth().print(dt));
439 }
440
441 public void testFormat_yearMonthDay() {
442 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
443 assertEquals("2004-06-09", ISODateTimeFormat.yearMonthDay().print(dt));
444
445 dt = dt.withZone(LONDON);
446 assertEquals("2004-06-09", ISODateTimeFormat.yearMonthDay().print(dt));
447
448 dt = dt.withZone(PARIS);
449 assertEquals("2004-06-09", ISODateTimeFormat.yearMonthDay().print(dt));
450 }
451
452 public void testFormat_weekyear() {
453 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
454 assertEquals("2004", ISODateTimeFormat.weekyear().print(dt));
455
456 dt = dt.withZone(LONDON);
457 assertEquals("2004", ISODateTimeFormat.weekyear().print(dt));
458
459 dt = dt.withZone(PARIS);
460 assertEquals("2004", ISODateTimeFormat.weekyear().print(dt));
461 }
462
463 public void testFormat_weekyearWeek() {
464 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
465 assertEquals("2004-W24", ISODateTimeFormat.weekyearWeek().print(dt));
466
467 dt = dt.withZone(LONDON);
468 assertEquals("2004-W24", ISODateTimeFormat.weekyearWeek().print(dt));
469
470 dt = dt.withZone(PARIS);
471 assertEquals("2004-W24", ISODateTimeFormat.weekyearWeek().print(dt));
472 }
473
474 public void testFormat_weekyearWeekDay() {
475 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
476 assertEquals("2004-W24-3", ISODateTimeFormat.weekyearWeekDay().print(dt));
477
478 dt = dt.withZone(LONDON);
479 assertEquals("2004-W24-3", ISODateTimeFormat.weekyearWeekDay().print(dt));
480
481 dt = dt.withZone(PARIS);
482 assertEquals("2004-W24-3", ISODateTimeFormat.weekyearWeekDay().print(dt));
483 }
484
485
486 public void testFormat_hour() {
487 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
488 assertEquals("10", ISODateTimeFormat.hour().print(dt));
489
490 dt = dt.withZone(LONDON);
491 assertEquals("11", ISODateTimeFormat.hour().print(dt));
492
493 dt = dt.withZone(PARIS);
494 assertEquals("12", ISODateTimeFormat.hour().print(dt));
495 }
496
497 public void testFormat_hourMinute() {
498 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
499 assertEquals("10:20", ISODateTimeFormat.hourMinute().print(dt));
500
501 dt = dt.withZone(LONDON);
502 assertEquals("11:20", ISODateTimeFormat.hourMinute().print(dt));
503
504 dt = dt.withZone(PARIS);
505 assertEquals("12:20", ISODateTimeFormat.hourMinute().print(dt));
506 }
507
508 public void testFormat_hourMinuteSecond() {
509 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
510 assertEquals("10:20:30", ISODateTimeFormat.hourMinuteSecond().print(dt));
511
512 dt = dt.withZone(LONDON);
513 assertEquals("11:20:30", ISODateTimeFormat.hourMinuteSecond().print(dt));
514
515 dt = dt.withZone(PARIS);
516 assertEquals("12:20:30", ISODateTimeFormat.hourMinuteSecond().print(dt));
517 }
518
519 public void testFormat_hourMinuteSecondMillis() {
520 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
521 assertEquals("10:20:30.040", ISODateTimeFormat.hourMinuteSecondMillis().print(dt));
522
523 dt = dt.withZone(LONDON);
524 assertEquals("11:20:30.040", ISODateTimeFormat.hourMinuteSecondMillis().print(dt));
525
526 dt = dt.withZone(PARIS);
527 assertEquals("12:20:30.040", ISODateTimeFormat.hourMinuteSecondMillis().print(dt));
528 }
529
530 public void testFormat_hourMinuteSecondFraction() {
531 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
532 assertEquals("10:20:30.040", ISODateTimeFormat.hourMinuteSecondFraction().print(dt));
533
534 dt = dt.withZone(LONDON);
535 assertEquals("11:20:30.040", ISODateTimeFormat.hourMinuteSecondFraction().print(dt));
536
537 dt = dt.withZone(PARIS);
538 assertEquals("12:20:30.040", ISODateTimeFormat.hourMinuteSecondFraction().print(dt));
539 }
540
541
542 public void testFormat_dateHour() {
543 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
544 assertEquals("2004-06-09T10", ISODateTimeFormat.dateHour().print(dt));
545
546 dt = dt.withZone(LONDON);
547 assertEquals("2004-06-09T11", ISODateTimeFormat.dateHour().print(dt));
548
549 dt = dt.withZone(PARIS);
550 assertEquals("2004-06-09T12", ISODateTimeFormat.dateHour().print(dt));
551 }
552
553 public void testFormat_dateHourMinute() {
554 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
555 assertEquals("2004-06-09T10:20", ISODateTimeFormat.dateHourMinute().print(dt));
556
557 dt = dt.withZone(LONDON);
558 assertEquals("2004-06-09T11:20", ISODateTimeFormat.dateHourMinute().print(dt));
559
560 dt = dt.withZone(PARIS);
561 assertEquals("2004-06-09T12:20", ISODateTimeFormat.dateHourMinute().print(dt));
562 }
563
564 public void testFormat_dateHourMinuteSecond() {
565 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
566 assertEquals("2004-06-09T10:20:30", ISODateTimeFormat.dateHourMinuteSecond().print(dt));
567
568 dt = dt.withZone(LONDON);
569 assertEquals("2004-06-09T11:20:30", ISODateTimeFormat.dateHourMinuteSecond().print(dt));
570
571 dt = dt.withZone(PARIS);
572 assertEquals("2004-06-09T12:20:30", ISODateTimeFormat.dateHourMinuteSecond().print(dt));
573 }
574
575 public void testFormat_dateHourMinuteSecondMillis() {
576 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
577 assertEquals("2004-06-09T10:20:30.040", ISODateTimeFormat.dateHourMinuteSecondMillis().print(dt));
578
579 dt = dt.withZone(LONDON);
580 assertEquals("2004-06-09T11:20:30.040", ISODateTimeFormat.dateHourMinuteSecondMillis().print(dt));
581
582 dt = dt.withZone(PARIS);
583 assertEquals("2004-06-09T12:20:30.040", ISODateTimeFormat.dateHourMinuteSecondMillis().print(dt));
584 }
585
586 public void testFormat_dateHourMinuteSecondFraction() {
587 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC);
588 assertEquals("2004-06-09T10:20:30.040", ISODateTimeFormat.dateHourMinuteSecondFraction().print(dt));
589
590 dt = dt.withZone(LONDON);
591 assertEquals("2004-06-09T11:20:30.040", ISODateTimeFormat.dateHourMinuteSecondFraction().print(dt));
592
593 dt = dt.withZone(PARIS);
594 assertEquals("2004-06-09T12:20:30.040", ISODateTimeFormat.dateHourMinuteSecondFraction().print(dt));
595 }
596
597 }