Java Code Examples for java.time.Instant#equals()
The following examples show how to use
java.time.Instant#equals() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: LastUpdatedParmBehaviorUtil.java From FHIR with Apache License 2.0 | 6 votes |
/** * builds equals range * * @param whereClauseSegment * @param lowerBound * @param upperBound */ public void buildEqualsRangeClause(StringBuilder whereClauseSegment, Instant lowerBound, Instant upperBound) { bindVariables.add(generateTimestamp(lowerBound)); if (!lowerBound.equals(upperBound)) { // @formatter:off whereClauseSegment .append(LEFT_PAREN) .append(LAST_UPDATED_COLUMN_NAME).append(GTE).append(BIND_VAR) .append(AND) .append(LAST_UPDATED_COLUMN_NAME).append(LTE).append(BIND_VAR) .append(RIGHT_PAREN); // @formatter:on bindVariables.add(generateTimestamp(upperBound)); } else { // @formatter:off whereClauseSegment .append(LEFT_PAREN) .append(LAST_UPDATED_COLUMN_NAME).append(EQ).append(BIND_VAR) .append(RIGHT_PAREN); // @formatter:on } }
Example 2
Source File: AtlasMetricsCounter.java From atlas with Apache License 2.0 | 6 votes |
protected synchronized void rolloverHour(Instant fromHourEndTime, Instant now) { if (fromHourEndTime == hourEndTime) { // only if rollover was not done already Instant hourStartTime = getHourStartTime(now); if (hourStartTime.equals(hourEndTime)) { stats.copy(CURR_HOUR, PREV_HOUR); } else { stats.reset(PREV_HOUR); } stats.reset(CURR_HOUR); this.hourStartTime = hourStartTime; this.hourEndTime = getNextHourStartTime(now); } }
Example 3
Source File: DateComparisonUtils.java From tutorials with MIT License | 5 votes |
public static boolean isSameDayUsingInstant(Date date1, Date date2) { Instant instant1 = date1.toInstant() .truncatedTo(ChronoUnit.DAYS); Instant instant2 = date2.toInstant() .truncatedTo(ChronoUnit.DAYS); return instant1.equals(instant2); }
Example 4
Source File: DefaultConnectionMetricsCounter.java From ditto with Eclipse Public License 2.0 | 5 votes |
/** * Produces a {@link Measurement} for reporting. * * @param success whether to count successful or failed operations * @return a measurement containing the counts for different intervals */ Measurement toMeasurement(final boolean success) { final Map<Duration, Long> measurements = counter.getCounts(success); final Instant lastMessageTimestamp = getLastMessageTimestamp(success); final Instant timestamp; if (lastMessageTimestamp.equals(Instant.EPOCH)) { timestamp = null; } else { timestamp = lastMessageTimestamp; } return ConnectivityModelFactory.newMeasurement(metricType, success, measurements, timestamp); }
Example 5
Source File: TimeHelper.java From teammates with GNU General Public License v2.0 | 5 votes |
/** * Returns whether the given {@code instant} is being used as a special representation, signifying its face value * should not be used without proper processing. * * <p>A {@code null} instant is not a special time.</p> * * @param instant the instant to test * @return {@code true} if the given instant is used as a special representation, {@code false} otherwise */ public static boolean isSpecialTime(Instant instant) { if (instant == null) { return false; } return instant.equals(Const.TIME_REPRESENTS_FOLLOW_OPENING) || instant.equals(Const.TIME_REPRESENTS_FOLLOW_VISIBLE) || instant.equals(Const.TIME_REPRESENTS_LATER) || instant.equals(Const.TIME_REPRESENTS_NOW); }
Example 6
Source File: RecordedObject.java From openjdk-jdk8u with GNU General Public License v2.0 | 5 votes |
OffsetDateTime getOffsetDateTime(String name) { Instant instant = getInstant(name); if (instant.equals(Instant.MIN)) { return OffsetDateTime.MIN; } return OffsetDateTime.ofInstant(getInstant(name), timeConverter.getZoneOffset()); }
Example 7
Source File: JavatimeTest.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Throwable { int N = 10000; long t1970 = new java.util.Date(70, 0, 01).getTime(); Random r = new Random(); for (int i = 0; i < N; i++) { int days = r.nextInt(50) * 365 + r.nextInt(365); long secs = t1970 + days * 86400 + r.nextInt(86400); int nanos = r.nextInt(NANOS_PER_SECOND); int nanos_ms = nanos / 1000000 * 1000000; // millis precision long millis = secs * 1000 + r.nextInt(1000); LocalDateTime ldt = LocalDateTime.ofEpochSecond(secs, nanos, ZoneOffset.UTC); LocalDateTime ldt_ms = LocalDateTime.ofEpochSecond(secs, nanos_ms, ZoneOffset.UTC); Instant inst = Instant.ofEpochSecond(secs, nanos); Instant inst_ms = Instant.ofEpochSecond(secs, nanos_ms); //System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); /////////// Timestamp //////////////////////////////// Timestamp ta = new Timestamp(millis); ta.setNanos(nanos); if (!isEqual(ta.toLocalDateTime(), ta)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ta.toLocalDateTime(), ta); throw new RuntimeException("FAILED: j.s.ts -> ldt"); } if (!isEqual(ldt, Timestamp.valueOf(ldt))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ldt, Timestamp.valueOf(ldt)); throw new RuntimeException("FAILED: ldt -> j.s.ts"); } Instant inst0 = ta.toInstant(); if (ta.getTime() != inst0.toEpochMilli() || ta.getNanos() != inst0.getNano() || !ta.equals(Timestamp.from(inst0))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: j.s.ts -> instant -> j.s.ts"); } inst = Instant.ofEpochSecond(secs, nanos); Timestamp ta0 = Timestamp.from(inst); if (ta0.getTime() != inst.toEpochMilli() || ta0.getNanos() != inst.getNano() || !inst.equals(ta0.toInstant())) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: instant -> timestamp -> instant"); } ////////// java.sql.Date ///////////////////////////// // j.s.d/t uses j.u.d.equals() !!!!!!!! java.sql.Date jsd = new java.sql.Date(millis); if (!isEqual(jsd.toLocalDate(), jsd)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(jsd.toLocalDate(), jsd); throw new RuntimeException("FAILED: j.s.d -> ld"); } LocalDate ld = ldt.toLocalDate(); if (!isEqual(ld, java.sql.Date.valueOf(ld))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ld, java.sql.Date.valueOf(ld)); throw new RuntimeException("FAILED: ld -> j.s.d"); } ////////// java.sql.Time ///////////////////////////// java.sql.Time jst = new java.sql.Time(millis); if (!isEqual(jst.toLocalTime(), jst)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(jst.toLocalTime(), jst); throw new RuntimeException("FAILED: j.s.t -> lt"); } // millis precision LocalTime lt = ldt_ms.toLocalTime(); if (!isEqual(lt, java.sql.Time.valueOf(lt))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(lt, java.sql.Time.valueOf(lt)); throw new RuntimeException("FAILED: lt -> j.s.t"); } } System.out.println("Passed!"); }
Example 8
Source File: JavatimeTest.java From hottub with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Throwable { int N = 10000; long t1970 = new java.util.Date(70, 0, 01).getTime(); Random r = new Random(); for (int i = 0; i < N; i++) { int days = r.nextInt(50) * 365 + r.nextInt(365); long secs = t1970 + days * 86400 + r.nextInt(86400); int nanos = r.nextInt(NANOS_PER_SECOND); int nanos_ms = nanos / 1000000 * 1000000; // millis precision long millis = secs * 1000 + r.nextInt(1000); LocalDateTime ldt = LocalDateTime.ofEpochSecond(secs, nanos, ZoneOffset.UTC); LocalDateTime ldt_ms = LocalDateTime.ofEpochSecond(secs, nanos_ms, ZoneOffset.UTC); Instant inst = Instant.ofEpochSecond(secs, nanos); Instant inst_ms = Instant.ofEpochSecond(secs, nanos_ms); //System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); /////////// Timestamp //////////////////////////////// Timestamp ta = new Timestamp(millis); ta.setNanos(nanos); if (!isEqual(ta.toLocalDateTime(), ta)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ta.toLocalDateTime(), ta); throw new RuntimeException("FAILED: j.s.ts -> ldt"); } if (!isEqual(ldt, Timestamp.valueOf(ldt))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ldt, Timestamp.valueOf(ldt)); throw new RuntimeException("FAILED: ldt -> j.s.ts"); } Instant inst0 = ta.toInstant(); if (ta.getTime() != inst0.toEpochMilli() || ta.getNanos() != inst0.getNano() || !ta.equals(Timestamp.from(inst0))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: j.s.ts -> instant -> j.s.ts"); } inst = Instant.ofEpochSecond(secs, nanos); Timestamp ta0 = Timestamp.from(inst); if (ta0.getTime() != inst.toEpochMilli() || ta0.getNanos() != inst.getNano() || !inst.equals(ta0.toInstant())) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: instant -> timestamp -> instant"); } ////////// java.sql.Date ///////////////////////////// // j.s.d/t uses j.u.d.equals() !!!!!!!! java.sql.Date jsd = new java.sql.Date(millis); if (!isEqual(jsd.toLocalDate(), jsd)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(jsd.toLocalDate(), jsd); throw new RuntimeException("FAILED: j.s.d -> ld"); } LocalDate ld = ldt.toLocalDate(); if (!isEqual(ld, java.sql.Date.valueOf(ld))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ld, java.sql.Date.valueOf(ld)); throw new RuntimeException("FAILED: ld -> j.s.d"); } ////////// java.sql.Time ///////////////////////////// java.sql.Time jst = new java.sql.Time(millis); if (!isEqual(jst.toLocalTime(), jst)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(jst.toLocalTime(), jst); throw new RuntimeException("FAILED: j.s.t -> lt"); } // millis precision LocalTime lt = ldt_ms.toLocalTime(); if (!isEqual(lt, java.sql.Time.valueOf(lt))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(lt, java.sql.Time.valueOf(lt)); throw new RuntimeException("FAILED: lt -> j.s.t"); } } System.out.println("Passed!"); }
Example 9
Source File: JavatimeTest.java From openjdk-8-source with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Throwable { int N = 10000; long t1970 = new java.util.Date(70, 0, 01).getTime(); Random r = new Random(); for (int i = 0; i < N; i++) { int days = r.nextInt(50) * 365 + r.nextInt(365); long secs = t1970 + days * 86400 + r.nextInt(86400); int nanos = r.nextInt(NANOS_PER_SECOND); int nanos_ms = nanos / 1000000 * 1000000; // millis precision long millis = secs * 1000 + r.nextInt(1000); LocalDateTime ldt = LocalDateTime.ofEpochSecond(secs, nanos, ZoneOffset.UTC); LocalDateTime ldt_ms = LocalDateTime.ofEpochSecond(secs, nanos_ms, ZoneOffset.UTC); Instant inst = Instant.ofEpochSecond(secs, nanos); Instant inst_ms = Instant.ofEpochSecond(secs, nanos_ms); //System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); /////////// Timestamp //////////////////////////////// Timestamp ta = new Timestamp(millis); ta.setNanos(nanos); if (!isEqual(ta.toLocalDateTime(), ta)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ta.toLocalDateTime(), ta); throw new RuntimeException("FAILED: j.s.ts -> ldt"); } if (!isEqual(ldt, Timestamp.valueOf(ldt))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ldt, Timestamp.valueOf(ldt)); throw new RuntimeException("FAILED: ldt -> j.s.ts"); } Instant inst0 = ta.toInstant(); if (ta.getTime() != inst0.toEpochMilli() || ta.getNanos() != inst0.getNano() || !ta.equals(Timestamp.from(inst0))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: j.s.ts -> instant -> j.s.ts"); } inst = Instant.ofEpochSecond(secs, nanos); Timestamp ta0 = Timestamp.from(inst); if (ta0.getTime() != inst.toEpochMilli() || ta0.getNanos() != inst.getNano() || !inst.equals(ta0.toInstant())) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: instant -> timestamp -> instant"); } ////////// java.sql.Date ///////////////////////////// // j.s.d/t uses j.u.d.equals() !!!!!!!! java.sql.Date jsd = new java.sql.Date(millis); if (!isEqual(jsd.toLocalDate(), jsd)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(jsd.toLocalDate(), jsd); throw new RuntimeException("FAILED: j.s.d -> ld"); } LocalDate ld = ldt.toLocalDate(); if (!isEqual(ld, java.sql.Date.valueOf(ld))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ld, java.sql.Date.valueOf(ld)); throw new RuntimeException("FAILED: ld -> j.s.d"); } ////////// java.sql.Time ///////////////////////////// java.sql.Time jst = new java.sql.Time(millis); if (!isEqual(jst.toLocalTime(), jst)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(jst.toLocalTime(), jst); throw new RuntimeException("FAILED: j.s.t -> lt"); } // millis precision LocalTime lt = ldt_ms.toLocalTime(); if (!isEqual(lt, java.sql.Time.valueOf(lt))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(lt, java.sql.Time.valueOf(lt)); throw new RuntimeException("FAILED: lt -> j.s.t"); } } System.out.println("Passed!"); }
Example 10
Source File: JavatimeTest.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Throwable { int N = 10000; long t1970 = new java.util.Date(70, 0, 01).getTime(); Random r = new Random(); for (int i = 0; i < N; i++) { int days = r.nextInt(50) * 365 + r.nextInt(365); long secs = t1970 + days * 86400 + r.nextInt(86400); int nanos = r.nextInt(NANOS_PER_SECOND); int nanos_ms = nanos / 1000000 * 1000000; // millis precision long millis = secs * 1000 + r.nextInt(1000); LocalDateTime ldt = LocalDateTime.ofEpochSecond(secs, nanos, ZoneOffset.UTC); LocalDateTime ldt_ms = LocalDateTime.ofEpochSecond(secs, nanos_ms, ZoneOffset.UTC); Instant inst = Instant.ofEpochSecond(secs, nanos); Instant inst_ms = Instant.ofEpochSecond(secs, nanos_ms); ///////////// java.util.Date ///////////////////////// Date jud = new java.util.Date(millis); Instant inst0 = jud.toInstant(); if (jud.getTime() != inst0.toEpochMilli() || !jud.equals(Date.from(inst0))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: j.u.d -> instant -> j.u.d"); } // roundtrip only with millis precision Date jud0 = Date.from(inst_ms); if (jud0.getTime() != inst_ms.toEpochMilli() || !inst_ms.equals(jud0.toInstant())) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: instant -> j.u.d -> instant"); } //////////// java.util.GregorianCalendar ///////////// GregorianCalendar cal = new GregorianCalendar(); // non-roundtrip of tz name between j.u.tz and j.t.zid cal.setTimeZone(TimeZone.getTimeZone(ZoneId.systemDefault())); cal.setGregorianChange(new java.util.Date(Long.MIN_VALUE)); cal.setFirstDayOfWeek(Calendar.MONDAY); cal.setMinimalDaysInFirstWeek(4); cal.setTimeInMillis(millis); ZonedDateTime zdt0 = cal.toZonedDateTime(); if (cal.getTimeInMillis() != zdt0.toInstant().toEpochMilli() || !cal.equals(GregorianCalendar.from(zdt0))) { System.out.println("cal:" + cal); System.out.println("zdt:" + zdt0); System.out.println("calNew:" + GregorianCalendar.from(zdt0)); System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: gcal -> zdt -> gcal"); } inst0 = cal.toInstant(); if (cal.getTimeInMillis() != inst0.toEpochMilli()) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: gcal -> zdt"); } ZonedDateTime zdt = ZonedDateTime.of(ldt_ms, ZoneId.systemDefault()); GregorianCalendar cal0 = GregorianCalendar.from(zdt); if (zdt.toInstant().toEpochMilli() != cal0.getTimeInMillis() || !zdt.equals(GregorianCalendar.from(zdt).toZonedDateTime())) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: zdt -> gcal -> zdt"); } } ///////////// java.util.TimeZone ///////////////////////// for (String zidStr : TimeZone.getAvailableIDs()) { // TBD: tzdt intergration if (zidStr.startsWith("SystemV") || zidStr.contains("Riyadh8") || zidStr.equals("US/Pacific-New") || zidStr.equals("EST") || zidStr.equals("HST") || zidStr.equals("MST")) { continue; } ZoneId zid = ZoneId.of(zidStr, ZoneId.SHORT_IDS); if (!zid.equals(TimeZone.getTimeZone(zid).toZoneId())) { throw new RuntimeException("FAILED: zid -> tz -> zid :" + zidStr); } TimeZone tz = TimeZone.getTimeZone(zidStr); // no round-trip for alias and "GMT" if (!tz.equals(TimeZone.getTimeZone(tz.toZoneId())) && !ZoneId.SHORT_IDS.containsKey(zidStr) && !zidStr.startsWith("GMT")) { throw new RuntimeException("FAILED: tz -> zid -> tz :" + zidStr); } } System.out.println("Passed!"); }
Example 11
Source File: JavatimeTest.java From openjdk-8 with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Throwable { int N = 10000; long t1970 = new java.util.Date(70, 0, 01).getTime(); Random r = new Random(); for (int i = 0; i < N; i++) { int days = r.nextInt(50) * 365 + r.nextInt(365); long secs = t1970 + days * 86400 + r.nextInt(86400); int nanos = r.nextInt(NANOS_PER_SECOND); int nanos_ms = nanos / 1000000 * 1000000; // millis precision long millis = secs * 1000 + r.nextInt(1000); LocalDateTime ldt = LocalDateTime.ofEpochSecond(secs, nanos, ZoneOffset.UTC); LocalDateTime ldt_ms = LocalDateTime.ofEpochSecond(secs, nanos_ms, ZoneOffset.UTC); Instant inst = Instant.ofEpochSecond(secs, nanos); Instant inst_ms = Instant.ofEpochSecond(secs, nanos_ms); //System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); /////////// Timestamp //////////////////////////////// Timestamp ta = new Timestamp(millis); ta.setNanos(nanos); if (!isEqual(ta.toLocalDateTime(), ta)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ta.toLocalDateTime(), ta); throw new RuntimeException("FAILED: j.s.ts -> ldt"); } if (!isEqual(ldt, Timestamp.valueOf(ldt))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ldt, Timestamp.valueOf(ldt)); throw new RuntimeException("FAILED: ldt -> j.s.ts"); } Instant inst0 = ta.toInstant(); if (ta.getTime() != inst0.toEpochMilli() || ta.getNanos() != inst0.getNano() || !ta.equals(Timestamp.from(inst0))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: j.s.ts -> instant -> j.s.ts"); } inst = Instant.ofEpochSecond(secs, nanos); Timestamp ta0 = Timestamp.from(inst); if (ta0.getTime() != inst.toEpochMilli() || ta0.getNanos() != inst.getNano() || !inst.equals(ta0.toInstant())) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: instant -> timestamp -> instant"); } ////////// java.sql.Date ///////////////////////////// // j.s.d/t uses j.u.d.equals() !!!!!!!! java.sql.Date jsd = new java.sql.Date(millis); if (!isEqual(jsd.toLocalDate(), jsd)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(jsd.toLocalDate(), jsd); throw new RuntimeException("FAILED: j.s.d -> ld"); } LocalDate ld = ldt.toLocalDate(); if (!isEqual(ld, java.sql.Date.valueOf(ld))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ld, java.sql.Date.valueOf(ld)); throw new RuntimeException("FAILED: ld -> j.s.d"); } ////////// java.sql.Time ///////////////////////////// java.sql.Time jst = new java.sql.Time(millis); if (!isEqual(jst.toLocalTime(), jst)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(jst.toLocalTime(), jst); throw new RuntimeException("FAILED: j.s.t -> lt"); } // millis precision LocalTime lt = ldt_ms.toLocalTime(); if (!isEqual(lt, java.sql.Time.valueOf(lt))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(lt, java.sql.Time.valueOf(lt)); throw new RuntimeException("FAILED: lt -> j.s.t"); } } System.out.println("Passed!"); }
Example 12
Source File: JavatimeTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Throwable { int N = 10000; long t1970 = new java.util.Date(70, 0, 01).getTime(); Random r = new Random(); for (int i = 0; i < N; i++) { int days = r.nextInt(50) * 365 + r.nextInt(365); long secs = t1970 + days * 86400 + r.nextInt(86400); int nanos = r.nextInt(NANOS_PER_SECOND); int nanos_ms = nanos / 1000000 * 1000000; // millis precision long millis = secs * 1000 + r.nextInt(1000); LocalDateTime ldt = LocalDateTime.ofEpochSecond(secs, nanos, ZoneOffset.UTC); LocalDateTime ldt_ms = LocalDateTime.ofEpochSecond(secs, nanos_ms, ZoneOffset.UTC); Instant inst = Instant.ofEpochSecond(secs, nanos); Instant inst_ms = Instant.ofEpochSecond(secs, nanos_ms); //System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); /////////// Timestamp //////////////////////////////// Timestamp ta = new Timestamp(millis); ta.setNanos(nanos); if (!isEqual(ta.toLocalDateTime(), ta)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ta.toLocalDateTime(), ta); throw new RuntimeException("FAILED: j.s.ts -> ldt"); } if (!isEqual(ldt, Timestamp.valueOf(ldt))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ldt, Timestamp.valueOf(ldt)); throw new RuntimeException("FAILED: ldt -> j.s.ts"); } Instant inst0 = ta.toInstant(); if (ta.getTime() != inst0.toEpochMilli() || ta.getNanos() != inst0.getNano() || !ta.equals(Timestamp.from(inst0))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: j.s.ts -> instant -> j.s.ts"); } inst = Instant.ofEpochSecond(secs, nanos); Timestamp ta0 = Timestamp.from(inst); if (ta0.getTime() != inst.toEpochMilli() || ta0.getNanos() != inst.getNano() || !inst.equals(ta0.toInstant())) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: instant -> timestamp -> instant"); } ////////// java.sql.Date ///////////////////////////// // j.s.d/t uses j.u.d.equals() !!!!!!!! java.sql.Date jsd = new java.sql.Date(millis); if (!isEqual(jsd.toLocalDate(), jsd)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(jsd.toLocalDate(), jsd); throw new RuntimeException("FAILED: j.s.d -> ld"); } LocalDate ld = ldt.toLocalDate(); if (!isEqual(ld, java.sql.Date.valueOf(ld))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ld, java.sql.Date.valueOf(ld)); throw new RuntimeException("FAILED: ld -> j.s.d"); } ////////// java.sql.Time ///////////////////////////// java.sql.Time jst = new java.sql.Time(millis); if (!isEqual(jst.toLocalTime(), jst)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(jst.toLocalTime(), jst); throw new RuntimeException("FAILED: j.s.t -> lt"); } // millis precision LocalTime lt = ldt_ms.toLocalTime(); if (!isEqual(lt, java.sql.Time.valueOf(lt))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(lt, java.sql.Time.valueOf(lt)); throw new RuntimeException("FAILED: lt -> j.s.t"); } } System.out.println("Passed!"); }
Example 13
Source File: JavatimeTest.java From jdk8u_jdk with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Throwable { int N = 10000; long t1970 = new java.util.Date(70, 0, 01).getTime(); Random r = new Random(); for (int i = 0; i < N; i++) { int days = r.nextInt(50) * 365 + r.nextInt(365); long secs = t1970 + days * 86400 + r.nextInt(86400); int nanos = r.nextInt(NANOS_PER_SECOND); int nanos_ms = nanos / 1000000 * 1000000; // millis precision long millis = secs * 1000 + r.nextInt(1000); LocalDateTime ldt = LocalDateTime.ofEpochSecond(secs, nanos, ZoneOffset.UTC); LocalDateTime ldt_ms = LocalDateTime.ofEpochSecond(secs, nanos_ms, ZoneOffset.UTC); Instant inst = Instant.ofEpochSecond(secs, nanos); Instant inst_ms = Instant.ofEpochSecond(secs, nanos_ms); ///////////// java.util.Date ///////////////////////// Date jud = new java.util.Date(millis); Instant inst0 = jud.toInstant(); if (jud.getTime() != inst0.toEpochMilli() || !jud.equals(Date.from(inst0))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: j.u.d -> instant -> j.u.d"); } // roundtrip only with millis precision Date jud0 = Date.from(inst_ms); if (jud0.getTime() != inst_ms.toEpochMilli() || !inst_ms.equals(jud0.toInstant())) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: instant -> j.u.d -> instant"); } //////////// java.util.GregorianCalendar ///////////// GregorianCalendar cal = new GregorianCalendar(); // non-roundtrip of tz name between j.u.tz and j.t.zid cal.setTimeZone(TimeZone.getTimeZone(ZoneId.systemDefault())); cal.setGregorianChange(new java.util.Date(Long.MIN_VALUE)); cal.setFirstDayOfWeek(Calendar.MONDAY); cal.setMinimalDaysInFirstWeek(4); cal.setTimeInMillis(millis); ZonedDateTime zdt0 = cal.toZonedDateTime(); if (cal.getTimeInMillis() != zdt0.toInstant().toEpochMilli() || !cal.equals(GregorianCalendar.from(zdt0))) { System.out.println("cal:" + cal); System.out.println("zdt:" + zdt0); System.out.println("calNew:" + GregorianCalendar.from(zdt0)); System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: gcal -> zdt -> gcal"); } inst0 = cal.toInstant(); if (cal.getTimeInMillis() != inst0.toEpochMilli()) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: gcal -> zdt"); } ZonedDateTime zdt = ZonedDateTime.of(ldt_ms, ZoneId.systemDefault()); GregorianCalendar cal0 = GregorianCalendar.from(zdt); if (zdt.toInstant().toEpochMilli() != cal0.getTimeInMillis() || !zdt.equals(GregorianCalendar.from(zdt).toZonedDateTime())) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: zdt -> gcal -> zdt"); } } ///////////// java.util.TimeZone ///////////////////////// for (String zidStr : TimeZone.getAvailableIDs()) { // TBD: tzdt intergration if (zidStr.startsWith("SystemV") || zidStr.contains("Riyadh8") || zidStr.equals("US/Pacific-New") || zidStr.equals("EST") || zidStr.equals("HST") || zidStr.equals("MST")) { continue; } ZoneId zid = ZoneId.of(zidStr, ZoneId.SHORT_IDS); if (!zid.equals(TimeZone.getTimeZone(zid).toZoneId())) { throw new RuntimeException("FAILED: zid -> tz -> zid :" + zidStr); } TimeZone tz = TimeZone.getTimeZone(zidStr); // no round-trip for alias and "GMT" if (!tz.equals(TimeZone.getTimeZone(tz.toZoneId())) && !ZoneId.SHORT_IDS.containsKey(zidStr) && !zidStr.startsWith("GMT")) { throw new RuntimeException("FAILED: tz -> zid -> tz :" + zidStr); } } System.out.println("Passed!"); }
Example 14
Source File: JavatimeTest.java From TencentKona-8 with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Throwable { int N = 10000; long t1970 = new java.util.Date(70, 0, 01).getTime(); Random r = new Random(); for (int i = 0; i < N; i++) { int days = r.nextInt(50) * 365 + r.nextInt(365); long secs = t1970 + days * 86400 + r.nextInt(86400); int nanos = r.nextInt(NANOS_PER_SECOND); int nanos_ms = nanos / 1000000 * 1000000; // millis precision long millis = secs * 1000 + r.nextInt(1000); LocalDateTime ldt = LocalDateTime.ofEpochSecond(secs, nanos, ZoneOffset.UTC); LocalDateTime ldt_ms = LocalDateTime.ofEpochSecond(secs, nanos_ms, ZoneOffset.UTC); Instant inst = Instant.ofEpochSecond(secs, nanos); Instant inst_ms = Instant.ofEpochSecond(secs, nanos_ms); //System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); /////////// Timestamp //////////////////////////////// Timestamp ta = new Timestamp(millis); ta.setNanos(nanos); if (!isEqual(ta.toLocalDateTime(), ta)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ta.toLocalDateTime(), ta); throw new RuntimeException("FAILED: j.s.ts -> ldt"); } if (!isEqual(ldt, Timestamp.valueOf(ldt))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ldt, Timestamp.valueOf(ldt)); throw new RuntimeException("FAILED: ldt -> j.s.ts"); } Instant inst0 = ta.toInstant(); if (ta.getTime() != inst0.toEpochMilli() || ta.getNanos() != inst0.getNano() || !ta.equals(Timestamp.from(inst0))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: j.s.ts -> instant -> j.s.ts"); } inst = Instant.ofEpochSecond(secs, nanos); Timestamp ta0 = Timestamp.from(inst); if (ta0.getTime() != inst.toEpochMilli() || ta0.getNanos() != inst.getNano() || !inst.equals(ta0.toInstant())) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: instant -> timestamp -> instant"); } ////////// java.sql.Date ///////////////////////////// // j.s.d/t uses j.u.d.equals() !!!!!!!! java.sql.Date jsd = new java.sql.Date(millis); if (!isEqual(jsd.toLocalDate(), jsd)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(jsd.toLocalDate(), jsd); throw new RuntimeException("FAILED: j.s.d -> ld"); } LocalDate ld = ldt.toLocalDate(); if (!isEqual(ld, java.sql.Date.valueOf(ld))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ld, java.sql.Date.valueOf(ld)); throw new RuntimeException("FAILED: ld -> j.s.d"); } ////////// java.sql.Time ///////////////////////////// java.sql.Time jst = new java.sql.Time(millis); if (!isEqual(jst.toLocalTime(), jst)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(jst.toLocalTime(), jst); throw new RuntimeException("FAILED: j.s.t -> lt"); } // millis precision LocalTime lt = ldt_ms.toLocalTime(); if (!isEqual(lt, java.sql.Time.valueOf(lt))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(lt, java.sql.Time.valueOf(lt)); throw new RuntimeException("FAILED: lt -> j.s.t"); } } System.out.println("Passed!"); }
Example 15
Source File: GetFeedbackSessionsActionTest.java From teammates with GNU General Public License v2.0 | 4 votes |
private void assertAllInformationMatch(FeedbackSessionData data, FeedbackSessionAttributes expectedSession) { assertEquals(expectedSession.getCourseId(), data.getCourseId()); assertEquals(expectedSession.getTimeZone().getId(), data.getTimeZone()); assertEquals(expectedSession.getFeedbackSessionName(), data.getFeedbackSessionName()); assertEquals(expectedSession.getInstructions(), data.getInstructions()); assertEquals(expectedSession.getStartTime().toEpochMilli(), data.getSubmissionStartTimestamp()); assertEquals(expectedSession.getEndTime().toEpochMilli(), data.getSubmissionEndTimestamp()); assertEquals(expectedSession.getGracePeriodMinutes(), data.getGracePeriod().longValue()); Instant sessionVisibleTime = expectedSession.getSessionVisibleFromTime(); if (sessionVisibleTime.equals(Const.TIME_REPRESENTS_FOLLOW_OPENING)) { assertEquals(data.getSessionVisibleSetting(), SessionVisibleSetting.AT_OPEN); } else { assertEquals(data.getSessionVisibleSetting(), SessionVisibleSetting.CUSTOM); assertEquals(sessionVisibleTime.toEpochMilli(), data.getCustomSessionVisibleTimestamp().longValue()); } Instant responseVisibleTime = expectedSession.getResultsVisibleFromTime(); if (responseVisibleTime.equals(Const.TIME_REPRESENTS_FOLLOW_VISIBLE)) { assertEquals(ResponseVisibleSetting.AT_VISIBLE, data.getResponseVisibleSetting()); } else if (responseVisibleTime.equals(Const.TIME_REPRESENTS_LATER)) { assertEquals(ResponseVisibleSetting.LATER, data.getResponseVisibleSetting()); } else { assertEquals(ResponseVisibleSetting.CUSTOM, data.getResponseVisibleSetting()); assertEquals(responseVisibleTime.toEpochMilli(), data.getCustomResponseVisibleTimestamp().longValue()); } if (!expectedSession.isVisible()) { assertEquals(FeedbackSessionSubmissionStatus.NOT_VISIBLE, data.getSubmissionStatus()); } else if (expectedSession.isOpened()) { assertEquals(FeedbackSessionSubmissionStatus.OPEN, data.getSubmissionStatus()); } else if (expectedSession.isClosed()) { assertEquals(FeedbackSessionSubmissionStatus.CLOSED, data.getSubmissionStatus()); } else if (expectedSession.isInGracePeriod()) { assertEquals(FeedbackSessionSubmissionStatus.GRACE_PERIOD, data.getSubmissionStatus()); } else if (expectedSession.isVisible() && !expectedSession.isOpened()) { assertEquals(FeedbackSessionSubmissionStatus.VISIBLE_NOT_OPEN, data.getSubmissionStatus()); } if (expectedSession.isPublished()) { assertEquals(FeedbackSessionPublishStatus.PUBLISHED, data.getPublishStatus()); } else { assertEquals(FeedbackSessionPublishStatus.NOT_PUBLISHED, data.getPublishStatus()); } assertEquals(expectedSession.isClosingEmailEnabled(), data.getIsClosingEmailEnabled()); assertEquals(expectedSession.isPublishedEmailEnabled(), data.getIsPublishedEmailEnabled()); assertEquals(expectedSession.getCreatedTime().toEpochMilli(), data.getCreatedAtTimestamp()); if (expectedSession.getDeletedTime() == null) { assertNull(data.getDeletedAtTimestamp()); } else { assertEquals(expectedSession.getDeletedTime().toEpochMilli(), data.getDeletedAtTimestamp().longValue()); } }
Example 16
Source File: JavatimeTest.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Throwable { int N = 10000; long t1970 = new java.util.Date(70, 0, 01).getTime(); Random r = new Random(); for (int i = 0; i < N; i++) { int days = r.nextInt(50) * 365 + r.nextInt(365); long secs = t1970 + days * 86400 + r.nextInt(86400); int nanos = r.nextInt(NANOS_PER_SECOND); int nanos_ms = nanos / 1000000 * 1000000; // millis precision long millis = secs * 1000 + r.nextInt(1000); LocalDateTime ldt = LocalDateTime.ofEpochSecond(secs, nanos, ZoneOffset.UTC); LocalDateTime ldt_ms = LocalDateTime.ofEpochSecond(secs, nanos_ms, ZoneOffset.UTC); Instant inst = Instant.ofEpochSecond(secs, nanos); Instant inst_ms = Instant.ofEpochSecond(secs, nanos_ms); ///////////// java.util.Date ///////////////////////// Date jud = new java.util.Date(millis); Instant inst0 = jud.toInstant(); if (jud.getTime() != inst0.toEpochMilli() || !jud.equals(Date.from(inst0))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: j.u.d -> instant -> j.u.d"); } // roundtrip only with millis precision Date jud0 = Date.from(inst_ms); if (jud0.getTime() != inst_ms.toEpochMilli() || !inst_ms.equals(jud0.toInstant())) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: instant -> j.u.d -> instant"); } //////////// java.util.GregorianCalendar ///////////// GregorianCalendar cal = new GregorianCalendar(); // non-roundtrip of tz name between j.u.tz and j.t.zid cal.setTimeZone(TimeZone.getTimeZone(ZoneId.systemDefault())); cal.setGregorianChange(new java.util.Date(Long.MIN_VALUE)); cal.setFirstDayOfWeek(Calendar.MONDAY); cal.setMinimalDaysInFirstWeek(4); cal.setTimeInMillis(millis); ZonedDateTime zdt0 = cal.toZonedDateTime(); if (cal.getTimeInMillis() != zdt0.toInstant().toEpochMilli() || !cal.equals(GregorianCalendar.from(zdt0))) { System.out.println("cal:" + cal); System.out.println("zdt:" + zdt0); System.out.println("calNew:" + GregorianCalendar.from(zdt0)); System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: gcal -> zdt -> gcal"); } inst0 = cal.toInstant(); if (cal.getTimeInMillis() != inst0.toEpochMilli()) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: gcal -> zdt"); } ZonedDateTime zdt = ZonedDateTime.of(ldt_ms, ZoneId.systemDefault()); GregorianCalendar cal0 = GregorianCalendar.from(zdt); if (zdt.toInstant().toEpochMilli() != cal0.getTimeInMillis() || !zdt.equals(GregorianCalendar.from(zdt).toZonedDateTime())) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: zdt -> gcal -> zdt"); } } ///////////// java.util.TimeZone ///////////////////////// for (String zidStr : TimeZone.getAvailableIDs()) { // TBD: tzdt intergration if (zidStr.startsWith("SystemV") || zidStr.contains("Riyadh8") || zidStr.equals("US/Pacific-New") || zidStr.equals("EST") || zidStr.equals("HST") || zidStr.equals("MST")) { continue; } ZoneId zid = ZoneId.of(zidStr, ZoneId.SHORT_IDS); if (!zid.equals(TimeZone.getTimeZone(zid).toZoneId())) { throw new RuntimeException("FAILED: zid -> tz -> zid :" + zidStr); } TimeZone tz = TimeZone.getTimeZone(zidStr); // no round-trip for alias and "GMT" if (!tz.equals(TimeZone.getTimeZone(tz.toZoneId())) && !ZoneId.SHORT_IDS.containsKey(zidStr) && !zidStr.startsWith("GMT")) { throw new RuntimeException("FAILED: tz -> zid -> tz :" + zidStr); } } System.out.println("Passed!"); }
Example 17
Source File: JavatimeTest.java From dragonwell8_jdk with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Throwable { int N = 10000; long t1970 = new java.util.Date(70, 0, 01).getTime(); Random r = new Random(); for (int i = 0; i < N; i++) { int days = r.nextInt(50) * 365 + r.nextInt(365); long secs = t1970 + days * 86400 + r.nextInt(86400); int nanos = r.nextInt(NANOS_PER_SECOND); int nanos_ms = nanos / 1000000 * 1000000; // millis precision long millis = secs * 1000 + r.nextInt(1000); LocalDateTime ldt = LocalDateTime.ofEpochSecond(secs, nanos, ZoneOffset.UTC); LocalDateTime ldt_ms = LocalDateTime.ofEpochSecond(secs, nanos_ms, ZoneOffset.UTC); Instant inst = Instant.ofEpochSecond(secs, nanos); Instant inst_ms = Instant.ofEpochSecond(secs, nanos_ms); ///////////// java.util.Date ///////////////////////// Date jud = new java.util.Date(millis); Instant inst0 = jud.toInstant(); if (jud.getTime() != inst0.toEpochMilli() || !jud.equals(Date.from(inst0))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: j.u.d -> instant -> j.u.d"); } // roundtrip only with millis precision Date jud0 = Date.from(inst_ms); if (jud0.getTime() != inst_ms.toEpochMilli() || !inst_ms.equals(jud0.toInstant())) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: instant -> j.u.d -> instant"); } //////////// java.util.GregorianCalendar ///////////// GregorianCalendar cal = new GregorianCalendar(); // non-roundtrip of tz name between j.u.tz and j.t.zid cal.setTimeZone(TimeZone.getTimeZone(ZoneId.systemDefault())); cal.setGregorianChange(new java.util.Date(Long.MIN_VALUE)); cal.setFirstDayOfWeek(Calendar.MONDAY); cal.setMinimalDaysInFirstWeek(4); cal.setTimeInMillis(millis); ZonedDateTime zdt0 = cal.toZonedDateTime(); if (cal.getTimeInMillis() != zdt0.toInstant().toEpochMilli() || !cal.equals(GregorianCalendar.from(zdt0))) { System.out.println("cal:" + cal); System.out.println("zdt:" + zdt0); System.out.println("calNew:" + GregorianCalendar.from(zdt0)); System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: gcal -> zdt -> gcal"); } inst0 = cal.toInstant(); if (cal.getTimeInMillis() != inst0.toEpochMilli()) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: gcal -> zdt"); } ZonedDateTime zdt = ZonedDateTime.of(ldt_ms, ZoneId.systemDefault()); GregorianCalendar cal0 = GregorianCalendar.from(zdt); if (zdt.toInstant().toEpochMilli() != cal0.getTimeInMillis() || !zdt.equals(GregorianCalendar.from(zdt).toZonedDateTime())) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: zdt -> gcal -> zdt"); } } ///////////// java.util.TimeZone ///////////////////////// for (String zidStr : TimeZone.getAvailableIDs()) { // TBD: tzdt intergration if (zidStr.startsWith("SystemV") || zidStr.contains("Riyadh8") || zidStr.equals("US/Pacific-New") || zidStr.equals("EST") || zidStr.equals("HST") || zidStr.equals("MST")) { continue; } ZoneId zid = ZoneId.of(zidStr, ZoneId.SHORT_IDS); if (!zid.equals(TimeZone.getTimeZone(zid).toZoneId())) { throw new RuntimeException("FAILED: zid -> tz -> zid :" + zidStr); } TimeZone tz = TimeZone.getTimeZone(zidStr); // no round-trip for alias and "GMT" if (!tz.equals(TimeZone.getTimeZone(tz.toZoneId())) && !ZoneId.SHORT_IDS.containsKey(zidStr) && !zidStr.startsWith("GMT")) { throw new RuntimeException("FAILED: tz -> zid -> tz :" + zidStr); } } System.out.println("Passed!"); }
Example 18
Source File: JavatimeTest.java From dragonwell8_jdk with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Throwable { int N = 10000; long t1970 = new java.util.Date(70, 0, 01).getTime(); Random r = new Random(); for (int i = 0; i < N; i++) { int days = r.nextInt(50) * 365 + r.nextInt(365); long secs = t1970 + days * 86400 + r.nextInt(86400); int nanos = r.nextInt(NANOS_PER_SECOND); int nanos_ms = nanos / 1000000 * 1000000; // millis precision long millis = secs * 1000 + r.nextInt(1000); LocalDateTime ldt = LocalDateTime.ofEpochSecond(secs, nanos, ZoneOffset.UTC); LocalDateTime ldt_ms = LocalDateTime.ofEpochSecond(secs, nanos_ms, ZoneOffset.UTC); Instant inst = Instant.ofEpochSecond(secs, nanos); Instant inst_ms = Instant.ofEpochSecond(secs, nanos_ms); //System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); /////////// Timestamp //////////////////////////////// Timestamp ta = new Timestamp(millis); ta.setNanos(nanos); if (!isEqual(ta.toLocalDateTime(), ta)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ta.toLocalDateTime(), ta); throw new RuntimeException("FAILED: j.s.ts -> ldt"); } if (!isEqual(ldt, Timestamp.valueOf(ldt))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ldt, Timestamp.valueOf(ldt)); throw new RuntimeException("FAILED: ldt -> j.s.ts"); } Instant inst0 = ta.toInstant(); if (ta.getTime() != inst0.toEpochMilli() || ta.getNanos() != inst0.getNano() || !ta.equals(Timestamp.from(inst0))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: j.s.ts -> instant -> j.s.ts"); } inst = Instant.ofEpochSecond(secs, nanos); Timestamp ta0 = Timestamp.from(inst); if (ta0.getTime() != inst.toEpochMilli() || ta0.getNanos() != inst.getNano() || !inst.equals(ta0.toInstant())) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); throw new RuntimeException("FAILED: instant -> timestamp -> instant"); } ////////// java.sql.Date ///////////////////////////// // j.s.d/t uses j.u.d.equals() !!!!!!!! java.sql.Date jsd = new java.sql.Date(millis); if (!isEqual(jsd.toLocalDate(), jsd)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(jsd.toLocalDate(), jsd); throw new RuntimeException("FAILED: j.s.d -> ld"); } LocalDate ld = ldt.toLocalDate(); if (!isEqual(ld, java.sql.Date.valueOf(ld))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(ld, java.sql.Date.valueOf(ld)); throw new RuntimeException("FAILED: ld -> j.s.d"); } ////////// java.sql.Time ///////////////////////////// java.sql.Time jst = new java.sql.Time(millis); if (!isEqual(jst.toLocalTime(), jst)) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(jst.toLocalTime(), jst); throw new RuntimeException("FAILED: j.s.t -> lt"); } // millis precision LocalTime lt = ldt_ms.toLocalTime(); if (!isEqual(lt, java.sql.Time.valueOf(lt))) { System.out.printf("ms: %16d ns: %10d ldt:[%s]%n", millis, nanos, ldt); print(lt, java.sql.Time.valueOf(lt)); throw new RuntimeException("FAILED: lt -> j.s.t"); } } System.out.println("Passed!"); }
Example 19
Source File: TimeRangeBound.java From concursus with MIT License | 2 votes |
/** * Is the supplied {@link Instant} within the upper bound represented by this object? * @param instant The {@link Instant} to test. * @return True of the supplied {@link Instant} is within the upper bound represented by this object, false otherwise. */ public boolean containsUpper(Instant instant) { return instant.isBefore(this.instant) || instant.equals(this.instant) && isInclusive; }
Example 20
Source File: FeedbackSessionAttributes.java From teammates with GNU General Public License v2.0 | 2 votes |
@Override public List<String> getInvalidityInfo() { List<String> errors = new ArrayList<>(); // Check for null fields. addNonEmptyError(FieldValidator.getValidityInfoForNonNullField( FieldValidator.FEEDBACK_SESSION_NAME_FIELD_NAME, feedbackSessionName), errors); addNonEmptyError(FieldValidator.getValidityInfoForNonNullField( FieldValidator.COURSE_ID_FIELD_NAME, courseId), errors); addNonEmptyError(FieldValidator.getValidityInfoForNonNullField("instructions to students", instructions), errors); addNonEmptyError(FieldValidator.getValidityInfoForNonNullField( "time for the session to become visible", sessionVisibleFromTime), errors); addNonEmptyError(FieldValidator.getValidityInfoForNonNullField("session time zone", timeZone), errors); addNonEmptyError(FieldValidator.getValidityInfoForNonNullField("creator's email", creatorEmail), errors); addNonEmptyError(FieldValidator.getValidityInfoForNonNullField("session creation time", createdTime), errors); // Early return if any null fields if (!errors.isEmpty()) { return errors; } addNonEmptyError(FieldValidator.getInvalidityInfoForFeedbackSessionName(feedbackSessionName), errors); addNonEmptyError(FieldValidator.getInvalidityInfoForCourseId(courseId), errors); addNonEmptyError(FieldValidator.getInvalidityInfoForEmail(creatorEmail), errors); addNonEmptyError(FieldValidator.getInvalidityInfoForGracePeriod(gracePeriod), errors); addNonEmptyError(FieldValidator.getValidityInfoForNonNullField("submission opening time", startTime), errors); addNonEmptyError(FieldValidator.getValidityInfoForNonNullField("submission closing time", endTime), errors); addNonEmptyError(FieldValidator.getValidityInfoForNonNullField( "time for the responses to become visible", resultsVisibleFromTime), errors); // Early return if any null fields if (!errors.isEmpty()) { return errors; } addNonEmptyError(FieldValidator.getInvalidityInfoForTimeForSessionStartAndEnd(startTime, endTime), errors); addNonEmptyError(FieldValidator.getInvalidityInfoForTimeForVisibilityStartAndSessionStart( sessionVisibleFromTime, startTime), errors); Instant actualSessionVisibleFromTime = sessionVisibleFromTime; if (actualSessionVisibleFromTime.equals(Const.TIME_REPRESENTS_FOLLOW_OPENING)) { actualSessionVisibleFromTime = startTime; } addNonEmptyError(FieldValidator.getInvalidityInfoForTimeForVisibilityStartAndResultsPublish( actualSessionVisibleFromTime, resultsVisibleFromTime), errors); return errors; }