/* * Copyright 2001-2012 Stephen Colebourne * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.joda.time; import org.joda.time.chrono.GJChronology; /** * Test testing. */ public class TempTest { // private static final DateTimeZone PARIS = DateTimeZone.forID("Europe/Paris"); public static void main(String[] args) { Chronology chronology = GJChronology.getInstance(); LocalDate start = new LocalDate(2013, 5, 31, chronology); LocalDate expectedEnd = new LocalDate(-1, 5, 31, chronology); // 1 BC System.out.println(start.minusYears(2012)); System.out.println(start.minusYears(2013)); System.out.println(expectedEnd); System.out.println("-----"); System.out.println(start.plus(Period.years(-2013))); System.out.println(expectedEnd); // DateTime dateTimeBefore = new DateTime(2012, 10, 28, 2, 59, 0, 0, DateTimeZone.forID("+02:00")); // System.out.println(dateTimeBefore); // DateTime dateTimeAfter = dateTimeBefore.withSecondOfMinute(0); // System.out.println(dateTimeAfter); // System.out.println(dateTimeBefore.equals(dateTimeAfter)); // // DateTime dateTimeBefore2 = new DateTime(2012, 10, 28, 2, 59, 0, 0, DateTimeZone.forID("Europe/Berlin")); // System.out.println(dateTimeBefore2); // DateTime dateTimeAfter2 = dateTimeBefore2.withSecondOfMinute(0); // System.out.println(dateTimeAfter2); // System.out.println(dateTimeBefore2.equals(dateTimeAfter2)); // // DateTime dateTimeBefore3 = new DateTime(2012, 10, 28, 1, 59, 0, 0, DateTimeZone.forID("Europe/Berlin")); // dateTimeBefore3 = dateTimeBefore3.plusMinutes(60); // 2:59 +02:00 with Europe/Berlin // System.out.println(dateTimeBefore3); // DateTime dateTimeAfter3 = dateTimeBefore2.withSecondOfMinute(0); // System.out.println(dateTimeAfter3); // // DateTimeZone changed from +02:00 to +01:00 // System.out.println(dateTimeBefore3.equals(dateTimeAfter3)); // final DateTime start = new LocalDateTime(2012, 11, 4, 1, 30).toDateTime(DateTimeZone.forID("America/New_York")); // final DateTime end = new LocalDateTime(2012, 11, 4, 2, 0).toDateTime(DateTimeZone.forID("America/New_York")); // System.out.println(start); // System.out.println(end); // // final MutableInterval interval = new MutableInterval(start, end); // System.out.println(interval); // System.out.println(new Period(interval)); // System.out.println(Hours.hoursIn(interval)); // System.out.println(Hours.hoursIn(interval).getHours()); // // // Period is correctly PT1H30, 1 == 1 // Assert.assertEquals(interval.toPeriod().getHours(), Hours.hoursIn(interval).getHours()); // // interval.setStart(interval.getStart().plusHours(1)); // System.out.println("-----"); // System.out.println(interval); // System.out.println(new Period(interval)); // System.out.println(Hours.hoursIn(interval)); // System.out.println(Hours.hoursIn(interval).getHours()); // // Period is incorrectly PT1H30, 1 == 0 // Assert.assertEquals(Hours.hoursIn(interval).getHours(), interval.toPeriod().getHours()); // DateTimeFormat.forPattern("dd.MM.yyyy").parseDateTime("00.10.2010"); // DateTime dateTime = new DateTime("2010-10-10T04:00:00", // DateTimeZone.forID("America/Caracas")); // // time zone is -04:30 -- UTC date time is 2010-10-09T23:30 // // System.out.println(dateTime + " " + dateTime.getChronology()); // MutableDateTime mutableDateTime = dateTime.toMutableDateTime(); // mutableDateTime.setDate(dateTime); // is essentially a no-op // System.out.println(mutableDateTime + " " + mutableDateTime.getChronology()); // Expected is: 2010-10-10T04:00:00.000-04:30 // Actual result is: 2010-10-09T04:00:00.000-04:30 // DateTime dt = new DateTime(1, 1, 1, 0, 0, 0, ISOChronology.getInstanceUTC()); // System.out.println(dt + " " + dt.toString("yyyy YYYY GG")); // dt = dt.minusDays(1); // System.out.println(dt + " " + dt.toString("yyyy YYYY GG")); // // dt = new DateTime(1, 1, 1, 0, 0, 0, GregorianChronology.getInstanceUTC()); // System.out.println(dt + " " + dt.toString("yyyy YYYY GG")); // dt = dt.minusDays(1); // System.out.println(dt + " " + dt.toString("yyyy YYYY GG")); // // dt = new DateTime(100000, 1, 1, 0, 0, 0, GregorianChronology.getInstanceUTC()); // System.out.println(dt + " " + dt.toString("yyyy YYYY GG")); // // dt = new DateTime(-100000, 1, 1, 0, 0, 0, GregorianChronology.getInstanceUTC()); // System.out.println(dt + " " + dt.toString("yyyy YYYY GG")); // DateTime birth = new DateTime(2012, 03, 31, 02, 28, 0, 0).minus(Years.years(27)); // DateTime now = new DateTime(2012, 03, 31, 02, 28, 33, 0); // System.out.println(birth); // System.out.println(now); // System.out.println(new Period(birth, now)); // // From the first test // // Comment out (in) the following call in order to make the test pass (fail). // DateTimeZone p1 = DateTimeZone.forID("Europe/Paris"); // System.out.println(p1 + " " + System.identityHashCode(p1)); // DateTimeZone.setDefault(p1); // new DateMidnight(2004, 6, 9); // // From the first test // // // From the second test // DateTimeZone.setProvider(null); // // From the second test // // // From the third test // DateTimeZone p2 = DateTimeZone.forID("Europe/Paris"); // System.out.println(p2 + " " + System.identityHashCode(p2)); // DateTimeZone.setDefault(p2); // // DateTime test = new DateTime(0); // DateTime result = test.withZoneRetainFields(p2); // if (test != result) { // throw new IllegalArgumentException(); // } } }