Java Code Examples for java.time.Instant#getEpochSecond()
The following examples show how to use
java.time.Instant#getEpochSecond() .
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: ZoneRules.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
/** * Gets the offset applicable at the specified instant in these rules. * <p> * The mapping from an instant to an offset is simple, there is only * one valid offset for each instant. * This method returns that offset. * * @param instant the instant to find the offset for, not null, but null * may be ignored if the rules have a single offset for all instants * @return the offset, not null */ public ZoneOffset getOffset(Instant instant) { if (savingsInstantTransitions.length == 0) { return standardOffsets[0]; } long epochSec = instant.getEpochSecond(); // check if using last rules if (lastRules.length > 0 && epochSec > savingsInstantTransitions[savingsInstantTransitions.length - 1]) { int year = findYear(epochSec, wallOffsets[wallOffsets.length - 1]); ZoneOffsetTransition[] transArray = findTransitionArray(year); ZoneOffsetTransition trans = null; for (int i = 0; i < transArray.length; i++) { trans = transArray[i]; if (epochSec < trans.toEpochSecond()) { return trans.getOffsetBefore(); } } return trans.getOffsetAfter(); } // using historic rules int index = Arrays.binarySearch(savingsInstantTransitions, epochSec); if (index < 0) { // switch negative insert position to start of matched range index = -index - 2; } return wallOffsets[index + 1]; }
Example 2
Source File: ZoneRules.java From desugar_jdk_libs with GNU General Public License v2.0 | 5 votes |
/** * Gets the offset applicable at the specified instant in these rules. * <p> * The mapping from an instant to an offset is simple, there is only * one valid offset for each instant. * This method returns that offset. * * @param instant the instant to find the offset for, not null, but null * may be ignored if the rules have a single offset for all instants * @return the offset, not null */ public ZoneOffset getOffset(Instant instant) { // For desugar: use TimeZone if given if (timeZone != null) { return offsetFromMillis(timeZone.getOffset(instant.toEpochMilli())); } if (savingsInstantTransitions.length == 0) { return standardOffsets[0]; } long epochSec = instant.getEpochSecond(); // check if using last rules if (lastRules.length > 0 && epochSec > savingsInstantTransitions[savingsInstantTransitions.length - 1]) { int year = findYear(epochSec, wallOffsets[wallOffsets.length - 1]); ZoneOffsetTransition[] transArray = findTransitionArray(year); ZoneOffsetTransition trans = null; for (int i = 0; i < transArray.length; i++) { trans = transArray[i]; if (epochSec < trans.toEpochSecond()) { return trans.getOffsetBefore(); } } return trans.getOffsetAfter(); } // using historic rules int index = Arrays.binarySearch(savingsInstantTransitions, epochSec); if (index < 0) { // switch negative insert position to start of matched range index = -index - 2; } return wallOffsets[index + 1]; }
Example 3
Source File: ZoneRules.java From dragonwell8_jdk with GNU General Public License v2.0 | 5 votes |
/** * Gets the next transition after the specified instant. * <p> * This returns details of the next transition after the specified instant. * For example, if the instant represents a point where "Summer" daylight savings time * applies, then the method will return the transition to the next "Winter" time. * * @param instant the instant to get the next transition after, not null, but null * may be ignored if the rules have a single offset for all instants * @return the next transition after the specified instant, null if this is after the last transition */ public ZoneOffsetTransition nextTransition(Instant instant) { if (savingsInstantTransitions.length == 0) { return null; } long epochSec = instant.getEpochSecond(); // check if using last rules if (epochSec >= savingsInstantTransitions[savingsInstantTransitions.length - 1]) { if (lastRules.length == 0) { return null; } // search year the instant is in int year = findYear(epochSec, wallOffsets[wallOffsets.length - 1]); ZoneOffsetTransition[] transArray = findTransitionArray(year); for (ZoneOffsetTransition trans : transArray) { if (epochSec < trans.toEpochSecond()) { return trans; } } // use first from following year if (year < Year.MAX_VALUE) { transArray = findTransitionArray(year + 1); return transArray[0]; } return null; } // using historic rules int index = Arrays.binarySearch(savingsInstantTransitions, epochSec); if (index < 0) { index = -index - 1; // switched value is the next transition } else { index += 1; // exact match, so need to add one to get the next } return new ZoneOffsetTransition(savingsInstantTransitions[index], wallOffsets[index], wallOffsets[index + 1]); }
Example 4
Source File: ZoneRules.java From dragonwell8_jdk with GNU General Public License v2.0 | 5 votes |
/** * Gets the standard offset for the specified instant in this zone. * <p> * This provides access to historic information on how the standard offset * has changed over time. * The standard offset is the offset before any daylight saving time is applied. * This is typically the offset applicable during winter. * * @param instant the instant to find the offset information for, not null, but null * may be ignored if the rules have a single offset for all instants * @return the standard offset, not null */ public ZoneOffset getStandardOffset(Instant instant) { if (savingsInstantTransitions.length == 0) { return standardOffsets[0]; } long epochSec = instant.getEpochSecond(); int index = Arrays.binarySearch(standardTransitions, epochSec); if (index < 0) { // switch negative insert position to start of matched range index = -index - 2; } return standardOffsets[index + 1]; }
Example 5
Source File: HiveConvertersImpl.java From metacat with Apache License 2.0 | 5 votes |
@VisibleForTesting Integer dateToEpochSeconds(@Nullable final Date date) { if (date == null) { return null; } final Instant instant = date.toInstant(); final long seconds = instant.getEpochSecond(); if (seconds <= Integer.MAX_VALUE) { return (int) seconds; } throw new IllegalStateException("Unable to convert date " + date + " to an integer seconds value"); }
Example 6
Source File: ZoneRules.java From JDKSourceCode1.8 with MIT License | 5 votes |
/** * Gets the standard offset for the specified instant in this zone. * <p> * This provides access to historic information on how the standard offset * has changed over time. * The standard offset is the offset before any daylight saving time is applied. * This is typically the offset applicable during winter. * * @param instant the instant to find the offset information for, not null, but null * may be ignored if the rules have a single offset for all instants * @return the standard offset, not null */ public ZoneOffset getStandardOffset(Instant instant) { if (savingsInstantTransitions.length == 0) { return standardOffsets[0]; } long epochSec = instant.getEpochSecond(); int index = Arrays.binarySearch(standardTransitions, epochSec); if (index < 0) { // switch negative insert position to start of matched range index = -index - 2; } return standardOffsets[index + 1]; }
Example 7
Source File: ZoneRules.java From Bytecoder with Apache License 2.0 | 5 votes |
/** * Gets the standard offset for the specified instant in this zone. * <p> * This provides access to historic information on how the standard offset * has changed over time. * The standard offset is the offset before any daylight saving time is applied. * This is typically the offset applicable during winter. * * @param instant the instant to find the offset information for, not null, but null * may be ignored if the rules have a single offset for all instants * @return the standard offset, not null */ public ZoneOffset getStandardOffset(Instant instant) { if (savingsInstantTransitions.length == 0) { return standardOffsets[0]; } long epochSec = instant.getEpochSecond(); int index = Arrays.binarySearch(standardTransitions, epochSec); if (index < 0) { // switch negative insert position to start of matched range index = -index - 2; } return standardOffsets[index + 1]; }
Example 8
Source File: ZoneRules.java From TencentKona-8 with GNU General Public License v2.0 | 5 votes |
/** * Gets the standard offset for the specified instant in this zone. * <p> * This provides access to historic information on how the standard offset * has changed over time. * The standard offset is the offset before any daylight saving time is applied. * This is typically the offset applicable during winter. * * @param instant the instant to find the offset information for, not null, but null * may be ignored if the rules have a single offset for all instants * @return the standard offset, not null */ public ZoneOffset getStandardOffset(Instant instant) { if (savingsInstantTransitions.length == 0) { return standardOffsets[0]; } long epochSec = instant.getEpochSecond(); int index = Arrays.binarySearch(standardTransitions, epochSec); if (index < 0) { // switch negative insert position to start of matched range index = -index - 2; } return standardOffsets[index + 1]; }
Example 9
Source File: PingRequest.java From maestro-java with Apache License 2.0 | 5 votes |
public PingRequest() { super(MaestroCommand.MAESTRO_NOTE_PING); Instant instant = Instant.now(); sec = instant.getEpochSecond(); usec = TimeUnit.NANOSECONDS.toMicros(instant.getNano()); }
Example 10
Source File: CentralizedReservoir.java From aws-xray-sdk-java with Apache License 2.0 | 5 votes |
public boolean isBorrow(Instant now) { if (now.getEpochSecond() != currentEpoch) { reset(now); } boolean b = borrow; borrow = true; return !b && capacity != 0; }
Example 11
Source File: ZoneRules.java From openjdk-jdk8u with GNU General Public License v2.0 | 5 votes |
/** * Gets the offset applicable at the specified instant in these rules. * <p> * The mapping from an instant to an offset is simple, there is only * one valid offset for each instant. * This method returns that offset. * * @param instant the instant to find the offset for, not null, but null * may be ignored if the rules have a single offset for all instants * @return the offset, not null */ public ZoneOffset getOffset(Instant instant) { if (savingsInstantTransitions.length == 0) { return standardOffsets[0]; } long epochSec = instant.getEpochSecond(); // check if using last rules if (lastRules.length > 0 && epochSec > savingsInstantTransitions[savingsInstantTransitions.length - 1]) { int year = findYear(epochSec, wallOffsets[wallOffsets.length - 1]); ZoneOffsetTransition[] transArray = findTransitionArray(year); ZoneOffsetTransition trans = null; for (int i = 0; i < transArray.length; i++) { trans = transArray[i]; if (epochSec < trans.toEpochSecond()) { return trans.getOffsetBefore(); } } return trans.getOffsetAfter(); } // using historic rules int index = Arrays.binarySearch(savingsInstantTransitions, epochSec); if (index < 0) { // switch negative insert position to start of matched range index = -index - 2; } return wallOffsets[index + 1]; }
Example 12
Source File: ZoneRules.java From jdk8u_jdk with GNU General Public License v2.0 | 5 votes |
/** * Gets the next transition after the specified instant. * <p> * This returns details of the next transition after the specified instant. * For example, if the instant represents a point where "Summer" daylight savings time * applies, then the method will return the transition to the next "Winter" time. * * @param instant the instant to get the next transition after, not null, but null * may be ignored if the rules have a single offset for all instants * @return the next transition after the specified instant, null if this is after the last transition */ public ZoneOffsetTransition nextTransition(Instant instant) { if (savingsInstantTransitions.length == 0) { return null; } long epochSec = instant.getEpochSecond(); // check if using last rules if (epochSec >= savingsInstantTransitions[savingsInstantTransitions.length - 1]) { if (lastRules.length == 0) { return null; } // search year the instant is in int year = findYear(epochSec, wallOffsets[wallOffsets.length - 1]); ZoneOffsetTransition[] transArray = findTransitionArray(year); for (ZoneOffsetTransition trans : transArray) { if (epochSec < trans.toEpochSecond()) { return trans; } } // use first from following year if (year < Year.MAX_VALUE) { transArray = findTransitionArray(year + 1); return transArray[0]; } return null; } // using historic rules int index = Arrays.binarySearch(savingsInstantTransitions, epochSec); if (index < 0) { index = -index - 1; // switched value is the next transition } else { index += 1; // exact match, so need to add one to get the next } return new ZoneOffsetTransition(savingsInstantTransitions[index], wallOffsets[index], wallOffsets[index + 1]); }
Example 13
Source File: ZoneRules.java From JDKSourceCode1.8 with MIT License | 5 votes |
/** * Gets the next transition after the specified instant. * <p> * This returns details of the next transition after the specified instant. * For example, if the instant represents a point where "Summer" daylight savings time * applies, then the method will return the transition to the next "Winter" time. * * @param instant the instant to get the next transition after, not null, but null * may be ignored if the rules have a single offset for all instants * @return the next transition after the specified instant, null if this is after the last transition */ public ZoneOffsetTransition nextTransition(Instant instant) { if (savingsInstantTransitions.length == 0) { return null; } long epochSec = instant.getEpochSecond(); // check if using last rules if (epochSec >= savingsInstantTransitions[savingsInstantTransitions.length - 1]) { if (lastRules.length == 0) { return null; } // search year the instant is in int year = findYear(epochSec, wallOffsets[wallOffsets.length - 1]); ZoneOffsetTransition[] transArray = findTransitionArray(year); for (ZoneOffsetTransition trans : transArray) { if (epochSec < trans.toEpochSecond()) { return trans; } } // use first from following year if (year < Year.MAX_VALUE) { transArray = findTransitionArray(year + 1); return transArray[0]; } return null; } // using historic rules int index = Arrays.binarySearch(savingsInstantTransitions, epochSec); if (index < 0) { index = -index - 1; // switched value is the next transition } else { index += 1; // exact match, so need to add one to get the next } return new ZoneOffsetTransition(savingsInstantTransitions[index], wallOffsets[index], wallOffsets[index + 1]); }
Example 14
Source File: ZoneRules.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
/** * Gets the previous transition before the specified instant. * <p> * This returns details of the previous transition before the specified instant. * For example, if the instant represents a point where "summer" daylight saving time * applies, then the method will return the transition from the previous "winter" time. * * @param instant the instant to get the previous transition after, not null, but null * may be ignored if the rules have a single offset for all instants * @return the previous transition before the specified instant, null if this is before the first transition */ public ZoneOffsetTransition previousTransition(Instant instant) { if (savingsInstantTransitions.length == 0) { return null; } long epochSec = instant.getEpochSecond(); if (instant.getNano() > 0 && epochSec < Long.MAX_VALUE) { epochSec += 1; // allow rest of method to only use seconds } // check if using last rules long lastHistoric = savingsInstantTransitions[savingsInstantTransitions.length - 1]; if (lastRules.length > 0 && epochSec > lastHistoric) { // search year the instant is in ZoneOffset lastHistoricOffset = wallOffsets[wallOffsets.length - 1]; int year = findYear(epochSec, lastHistoricOffset); ZoneOffsetTransition[] transArray = findTransitionArray(year); for (int i = transArray.length - 1; i >= 0; i--) { if (epochSec > transArray[i].toEpochSecond()) { return transArray[i]; } } // use last from preceding year int lastHistoricYear = findYear(lastHistoric, lastHistoricOffset); if (--year > lastHistoricYear) { transArray = findTransitionArray(year); return transArray[transArray.length - 1]; } // drop through } // using historic rules int index = Arrays.binarySearch(savingsInstantTransitions, epochSec); if (index < 0) { index = -index - 1; } if (index <= 0) { return null; } return new ZoneOffsetTransition(savingsInstantTransitions[index - 1], wallOffsets[index - 1], wallOffsets[index]); }
Example 15
Source File: ZoneRules.java From jdk8u_jdk with GNU General Public License v2.0 | 4 votes |
/** * Gets the previous transition before the specified instant. * <p> * This returns details of the previous transition after the specified instant. * For example, if the instant represents a point where "summer" daylight saving time * applies, then the method will return the transition from the previous "winter" time. * * @param instant the instant to get the previous transition after, not null, but null * may be ignored if the rules have a single offset for all instants * @return the previous transition after the specified instant, null if this is before the first transition */ public ZoneOffsetTransition previousTransition(Instant instant) { if (savingsInstantTransitions.length == 0) { return null; } long epochSec = instant.getEpochSecond(); if (instant.getNano() > 0 && epochSec < Long.MAX_VALUE) { epochSec += 1; // allow rest of method to only use seconds } // check if using last rules long lastHistoric = savingsInstantTransitions[savingsInstantTransitions.length - 1]; if (lastRules.length > 0 && epochSec > lastHistoric) { // search year the instant is in ZoneOffset lastHistoricOffset = wallOffsets[wallOffsets.length - 1]; int year = findYear(epochSec, lastHistoricOffset); ZoneOffsetTransition[] transArray = findTransitionArray(year); for (int i = transArray.length - 1; i >= 0; i--) { if (epochSec > transArray[i].toEpochSecond()) { return transArray[i]; } } // use last from preceding year int lastHistoricYear = findYear(lastHistoric, lastHistoricOffset); if (--year > lastHistoricYear) { transArray = findTransitionArray(year); return transArray[transArray.length - 1]; } // drop through } // using historic rules int index = Arrays.binarySearch(savingsInstantTransitions, epochSec); if (index < 0) { index = -index - 1; } if (index <= 0) { return null; } return new ZoneOffsetTransition(savingsInstantTransitions[index - 1], wallOffsets[index - 1], wallOffsets[index]); }
Example 16
Source File: ZoneRules.java From jdk8u60 with GNU General Public License v2.0 | 4 votes |
/** * Gets the previous transition before the specified instant. * <p> * This returns details of the previous transition after the specified instant. * For example, if the instant represents a point where "summer" daylight saving time * applies, then the method will return the transition from the previous "winter" time. * * @param instant the instant to get the previous transition after, not null, but null * may be ignored if the rules have a single offset for all instants * @return the previous transition after the specified instant, null if this is before the first transition */ public ZoneOffsetTransition previousTransition(Instant instant) { if (savingsInstantTransitions.length == 0) { return null; } long epochSec = instant.getEpochSecond(); if (instant.getNano() > 0 && epochSec < Long.MAX_VALUE) { epochSec += 1; // allow rest of method to only use seconds } // check if using last rules long lastHistoric = savingsInstantTransitions[savingsInstantTransitions.length - 1]; if (lastRules.length > 0 && epochSec > lastHistoric) { // search year the instant is in ZoneOffset lastHistoricOffset = wallOffsets[wallOffsets.length - 1]; int year = findYear(epochSec, lastHistoricOffset); ZoneOffsetTransition[] transArray = findTransitionArray(year); for (int i = transArray.length - 1; i >= 0; i--) { if (epochSec > transArray[i].toEpochSecond()) { return transArray[i]; } } // use last from preceding year int lastHistoricYear = findYear(lastHistoric, lastHistoricOffset); if (--year > lastHistoricYear) { transArray = findTransitionArray(year); return transArray[transArray.length - 1]; } // drop through } // using historic rules int index = Arrays.binarySearch(savingsInstantTransitions, epochSec); if (index < 0) { index = -index - 1; } if (index <= 0) { return null; } return new ZoneOffsetTransition(savingsInstantTransitions[index - 1], wallOffsets[index - 1], wallOffsets[index]); }
Example 17
Source File: TestClock_System.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
static void testWithOffset(String name, long offset, Clock clock) throws IllegalAccessException { offsetField.set(clock, offset); long beforeMillis = System.currentTimeMillis(); final Instant instant = clock.instant(); long afterMillis = System.currentTimeMillis(); long actualOffset = offsetField.getLong(clock); long instantMillis = instant.getEpochSecond() * MILLIS_IN_SECOND + instant.getNano() / NANOS_IN_MILLI; if (instantMillis < beforeMillis || instantMillis > afterMillis) { throw new RuntimeException(name + ": Invalid instant: " + instant + " (~" + instantMillis + "ms)" + " when time in millis is in [" + beforeMillis + ", " + afterMillis + "] and offset in seconds is " + offset); } Answer isOffLimits = isOffLimits(beforeMillis / MILLIS_IN_SECOND, afterMillis / MILLIS_IN_SECOND, offset); switch (isOffLimits) { case YES: if (actualOffset == offset) { throw new RuntimeException(name + ": offset was offlimit but was not recomputed " + " when time in millis is in [" + beforeMillis + ", " + afterMillis + "] and offset in seconds was " + offset); } break; case NO: if (actualOffset != offset) { throw new RuntimeException(name + ": offset was not offlimit but was recomputed."); } break; default: break; } if (distance(actualOffset, instant.getEpochSecond()) >= MAX_OFFSET) { throw new RuntimeException(name + ": Actual offset is too far off:" + " offset=" + actualOffset + "instant.seconds=" + instant.getEpochSecond()); } long adjustment = (instant.getEpochSecond() - actualOffset) * NANOS_IN_SECOND + instant.getNano(); validateAdjustment(name, actualOffset, beforeMillis, afterMillis, adjustment); }
Example 18
Source File: KerberosTime.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
/** * Creates a KerberosTime object from an Instant object */ public KerberosTime(Instant instant) { this(instant.getEpochSecond()*1000 + instant.getNano()/1000000L, instant.getNano()/1000%1000); }
Example 19
Source File: Timestamp.java From jdk8u60 with GNU General Public License v2.0 | 3 votes |
/** * Obtains an instance of {@code Timestamp} from an {@link Instant} object. * <p> * {@code Instant} can store points on the time-line further in the future * and further in the past than {@code Date}. In this scenario, this method * will throw an exception. * * @param instant the instant to convert * @return an {@code Timestamp} representing the same point on the time-line as * the provided instant * @exception NullPointerException if {@code instant} is null. * @exception IllegalArgumentException if the instant is too large to * represent as a {@code Timesamp} * @since 1.8 */ public static Timestamp from(Instant instant) { try { Timestamp stamp = new Timestamp(instant.getEpochSecond() * MILLIS_PER_SECOND); stamp.nanos = instant.getNano(); return stamp; } catch (ArithmeticException ex) { throw new IllegalArgumentException(ex); } }
Example 20
Source File: Timestamp.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 3 votes |
/** * Obtains an instance of {@code Timestamp} from an {@link Instant} object. * <p> * {@code Instant} can store points on the time-line further in the future * and further in the past than {@code Date}. In this scenario, this method * will throw an exception. * * @param instant the instant to convert * @return an {@code Timestamp} representing the same point on the time-line as * the provided instant * @exception NullPointerException if {@code instant} is null. * @exception IllegalArgumentException if the instant is too large to * represent as a {@code Timesamp} * @since 1.8 */ public static Timestamp from(Instant instant) { try { Timestamp stamp = new Timestamp(instant.getEpochSecond() * MILLIS_PER_SECOND); stamp.nanos = instant.getNano(); return stamp; } catch (ArithmeticException ex) { throw new IllegalArgumentException(ex); } }