001 /* 002 * Copyright 2001-2005 Stephen Colebourne 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.joda.time.format; 017 018 import java.util.Locale; 019 import java.util.TimeZone; 020 021 import junit.framework.TestCase; 022 import junit.framework.TestSuite; 023 024 import org.joda.time.DateTime; 025 import org.joda.time.DateTimeConstants; 026 import org.joda.time.DateTimeFieldType; 027 import org.joda.time.DateTimeUtils; 028 import org.joda.time.DateTimeZone; 029 import org.joda.time.Partial; 030 031 /** 032 * This class is a Junit unit test for ISODateTimeFormat. 033 * 034 * @author Stephen Colebourne 035 */ 036 public class TestISODateTimeFormat extends TestCase { 037 038 private static final DateTimeZone UTC = DateTimeZone.UTC; 039 private static final DateTimeZone PARIS = DateTimeZone.forID("Europe/Paris"); 040 private static final DateTimeZone LONDON = DateTimeZone.forID("Europe/London"); 041 private static final DateTimeZone TOKYO = DateTimeZone.forID("Asia/Tokyo"); 042 043 long y2002days = 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 044 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 045 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 046 366 + 365; 047 // 2002-06-09 048 private long TEST_TIME_NOW = 049 (y2002days + 31L + 28L + 31L + 30L + 31L + 9L -1L) * DateTimeConstants.MILLIS_PER_DAY; 050 051 private DateTimeZone originalDateTimeZone = null; 052 private TimeZone originalTimeZone = null; 053 private Locale originalLocale = null; 054 055 public static void main(String[] args) { 056 junit.textui.TestRunner.run(suite()); 057 } 058 059 public static TestSuite suite() { 060 return new TestSuite(TestISODateTimeFormat.class); 061 } 062 063 public TestISODateTimeFormat(String name) { 064 super(name); 065 } 066 067 protected void setUp() throws Exception { 068 DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW); 069 originalDateTimeZone = DateTimeZone.getDefault(); 070 originalTimeZone = TimeZone.getDefault(); 071 originalLocale = Locale.getDefault(); 072 DateTimeZone.setDefault(LONDON); 073 TimeZone.setDefault(TimeZone.getTimeZone("Europe/London")); 074 Locale.setDefault(Locale.UK); 075 } 076 077 protected void tearDown() throws Exception { 078 DateTimeUtils.setCurrentMillisSystem(); 079 DateTimeZone.setDefault(originalDateTimeZone); 080 TimeZone.setDefault(originalTimeZone); 081 Locale.setDefault(originalLocale); 082 originalDateTimeZone = null; 083 originalTimeZone = null; 084 originalLocale = null; 085 } 086 087 //----------------------------------------------------------------------- 088 public void testSubclassableConstructor() { 089 ISODateTimeFormat f = new ISODateTimeFormat() { 090 // test constructor is protected 091 }; 092 assertNotNull(f); 093 } 094 095 //----------------------------------------------------------------------- 096 public void testFormat_date() { 097 DateTime dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, UTC); 098 assertEquals("2004-06-09", ISODateTimeFormat.date().print(dt)); 099 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 // dt = dt.withZone(LONDON); 185 // assertEquals("2004-06-09T11:20:30.040+01:00", ISODateTimeFormat.getInstance(PARIS).dateTime().print(dt)); 186 // 187 // dt = dt.withZone(LONDON); 188 // assertEquals("2004-06-09T12:20:30.040+02:00", ISODateTimeFormat.dateTime().print(dt.getMillis(), PARIS)); 189 // 190 // dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, CopticChronology.getInstance()); 191 // assertEquals("2288-02-19T10:20:30.040Z", ISODateTimeFormat.dateTime().print(dt)); 192 // 193 // dt = new DateTime(2004, 6, 9, 10, 20, 30, 40, CopticChronology.getInstance()); 194 // assertEquals("2004-06-09T10:20:30.040Z", ISODateTimeFormat.getInstance(CopticChronology.getInstance()).dateTime().print(dt)); 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 }