Java Code Examples for java.time.Instant#getEpochSecond()
The following examples show how to use
java.time.Instant#getEpochSecond() .
These examples are extracted from open source projects.
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 Project: JDKSourceCode1.8 File: ZoneRules.java License: 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 2
Source Project: jdk8u_jdk File: ZoneRules.java License: 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 3
Source Project: openjdk-jdk8u File: ZoneRules.java License: 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 4
Source Project: aws-xray-sdk-java File: CentralizedReservoir.java License: 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 5
Source Project: maestro-java File: PingRequest.java License: 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 6
Source Project: jdk8u-jdk File: ZoneRules.java License: 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 7
Source Project: TencentKona-8 File: ZoneRules.java License: 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 8
Source Project: Bytecoder File: ZoneRules.java License: 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 9
Source Project: JDKSourceCode1.8 File: ZoneRules.java License: 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 10
Source Project: metacat File: HiveConvertersImpl.java License: 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 11
Source Project: dragonwell8_jdk File: ZoneRules.java License: 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 12
Source Project: dragonwell8_jdk File: ZoneRules.java License: 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 Project: desugar_jdk_libs File: ZoneRules.java License: 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 14
Source Project: jdk8u_jdk File: ZoneRules.java License: 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 15
Source Project: openjdk-jdk9 File: TestClock_System.java License: 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 16
Source Project: openjdk-jdk9 File: ZoneRules.java License: 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 17
Source Project: jdk8u60 File: ZoneRules.java License: 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 18
Source Project: openjdk-jdk9 File: KerberosTime.java License: 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 Project: jdk8u-dev-jdk File: Timestamp.java License: 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 Project: jdk8u60 File: Timestamp.java License: 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); } }