gpt4 book ai didi

org.threeten.bp.ZoneId.getRules()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-15 03:50:49 27 4
gpt4 key购买 nike

本文整理了Java中org.threeten.bp.ZoneId.getRules()方法的一些代码示例,展示了ZoneId.getRules()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZoneId.getRules()方法的具体详情如下:
包路径:org.threeten.bp.ZoneId
类名称:ZoneId
方法名:getRules

ZoneId.getRules介绍

[英]Gets the time-zone rules for this ID allowing calculations to be performed.

The rules provide the functionality associated with a time-zone, such as finding the offset for a given instant or local date-time.

A time-zone can be invalid if it is deserialized in a Java Runtime which does not have the same rules loaded as the Java Runtime that stored it. In this case, calling this method will throw a ZoneRulesException.

The rules are supplied by ZoneRulesProvider. An advanced provider may support dynamic updates to the rules without restarting the Java Runtime. If so, then the result of this method may change over time. Each individual call will be still remain thread-safe.

ZoneOffset will always return a set of rules where the offset never changes.
[中]

代码示例

代码示例来源:origin: gengstrand/clojure-news-feed

@Override
 public OffsetDateTime apply(OffsetDateTime d, ZoneId z) {
  return d.withOffsetSameInstant(z.getRules().getOffset(d.toLocalDateTime()));
 }
}

代码示例来源:origin: XeroAPI/Xero-Java

@Override
 public OffsetDateTime apply(OffsetDateTime d, ZoneId z) {
  return d.withOffsetSameInstant(z.getRules().getOffset(d.toLocalDateTime()));
 }
}

代码示例来源:origin: com.github.joschi.jackson/jackson-datatype-threetenbp

@Override
  public OffsetDateTime apply(OffsetDateTime d, ZoneId z) {
    return d.withOffsetSameInstant(z.getRules().getOffset(d.toLocalDateTime()));
  }
},

代码示例来源:origin: mercadolibre/java-sdk

@Override
 public OffsetDateTime apply(OffsetDateTime d, ZoneId z) {
  return d.withOffsetSameInstant(z.getRules().getOffset(d.toLocalDateTime()));
 }
}

代码示例来源:origin: org.threeten/threetenbp

/**
 * Resolves the offset into this zoned date-time.
 * <p>
 * This ignores the offset, unless it can be used in an overlap.
 *
 * @param offset  the offset, not null
 * @return the zoned date-time, not null
 */
private ZonedDateTime resolveOffset(ZoneOffset offset) {
  if (offset.equals(this.offset) == false && zone.getRules().isValidOffset(dateTime, offset)) {
    return new ZonedDateTime(dateTime, offset, zone);
  }
  return this;
}

代码示例来源:origin: ThreeTen/threetenbp

/**
 * Resolves the offset into this zoned date-time.
 * <p>
 * This ignores the offset, unless it can be used in an overlap.
 *
 * @param offset  the offset, not null
 * @return the zoned date-time, not null
 */
private ZonedDateTime resolveOffset(ZoneOffset offset) {
  if (offset.equals(this.offset) == false && zone.getRules().isValidOffset(dateTime, offset)) {
    return new ZonedDateTime(dateTime, offset, zone);
  }
  return this;
}

代码示例来源:origin: gabrielittner/lazythreetenbp

/**
 * Call on background thread to eagerly load all zones. Starts with loading
 * {@link ZoneId#systemDefault()} which is the one most likely to be used.
 */
@WorkerThread
public static void cacheZones() {
  ZoneId.systemDefault().getRules();
  for (String zoneId : ZoneRulesProvider.getAvailableZoneIds()) {
    ZoneRulesProvider.getRules(zoneId, true);
  }
}

代码示例来源:origin: ThreeTen/threetenbp

/**
 * Obtains an instance of {@code ZonedDateTime} using seconds from the
 * epoch of 1970-01-01T00:00:00Z.
 *
 * @param epochSecond  the number of seconds from the epoch of 1970-01-01T00:00:00Z
 * @param nanoOfSecond  the nanosecond within the second, from 0 to 999,999,999
 * @param zone  the time-zone, not null
 * @return the zoned date-time, not null
 * @throws DateTimeException if the result exceeds the supported range
 */
private static ZonedDateTime create(long epochSecond, int nanoOfSecond, ZoneId zone) {
  ZoneRules rules = zone.getRules();
  Instant instant = Instant.ofEpochSecond(epochSecond, nanoOfSecond);  // TODO: rules should be queryable by epochSeconds
  ZoneOffset offset = rules.getOffset(instant);
  LocalDateTime ldt = LocalDateTime.ofEpochSecond(epochSecond, nanoOfSecond, offset);
  return new ZonedDateTime(ldt, offset, zone);
}

代码示例来源:origin: org.threeten/threetenbp

/**
 * Obtains an instance of {@code ZonedDateTime} using seconds from the
 * epoch of 1970-01-01T00:00:00Z.
 *
 * @param epochSecond  the number of seconds from the epoch of 1970-01-01T00:00:00Z
 * @param nanoOfSecond  the nanosecond within the second, from 0 to 999,999,999
 * @param zone  the time-zone, not null
 * @return the zoned date-time, not null
 * @throws DateTimeException if the result exceeds the supported range
 */
private static ZonedDateTime create(long epochSecond, int nanoOfSecond, ZoneId zone) {
  ZoneRules rules = zone.getRules();
  Instant instant = Instant.ofEpochSecond(epochSecond, nanoOfSecond);  // TODO: rules should be queryable by epochSeconds
  ZoneOffset offset = rules.getOffset(instant);
  LocalDateTime ldt = LocalDateTime.ofEpochSecond(epochSecond, nanoOfSecond, offset);
  return new ZonedDateTime(ldt, offset, zone);
}

代码示例来源:origin: ThreeTen/threetenbp

/**
 * Obtains the current time from the specified clock.
 * <p>
 * This will query the specified clock to obtain the current time.
 * The offset will be calculated from the time-zone in the clock.
 * <p>
 * Using this method allows the use of an alternate clock for testing.
 * The alternate clock may be introduced using {@link Clock dependency injection}.
 *
 * @param clock  the clock to use, not null
 * @return the current time, not null
 */
public static OffsetTime now(Clock clock) {
  Jdk8Methods.requireNonNull(clock, "clock");
  final Instant now = clock.instant();  // called once
  return ofInstant(now, clock.getZone().getRules().getOffset(now));
}

代码示例来源:origin: ThreeTen/threetenbp

/**
 * Obtains the current date-time from the specified clock.
 * <p>
 * This will query the specified clock to obtain the current date-time.
 * The offset will be calculated from the time-zone in the clock.
 * <p>
 * Using this method allows the use of an alternate clock for testing.
 * The alternate clock may be introduced using {@link Clock dependency injection}.
 *
 * @param clock  the clock to use, not null
 * @return the current date-time, not null
 */
public static OffsetDateTime now(Clock clock) {
  Jdk8Methods.requireNonNull(clock, "clock");
  final Instant now = clock.instant();  // called once
  return ofInstant(now, clock.getZone().getRules().getOffset(now));
}

代码示例来源:origin: org.threeten/threetenbp

/**
 * Obtains the current date-time from the specified clock.
 * <p>
 * This will query the specified clock to obtain the current date-time.
 * The offset will be calculated from the time-zone in the clock.
 * <p>
 * Using this method allows the use of an alternate clock for testing.
 * The alternate clock may be introduced using {@link Clock dependency injection}.
 *
 * @param clock  the clock to use, not null
 * @return the current date-time, not null
 */
public static OffsetDateTime now(Clock clock) {
  Jdk8Methods.requireNonNull(clock, "clock");
  final Instant now = clock.instant();  // called once
  return ofInstant(now, clock.getZone().getRules().getOffset(now));
}

代码示例来源:origin: org.threeten/threetenbp

/**
 * Obtains the current time from the specified clock.
 * <p>
 * This will query the specified clock to obtain the current time.
 * The offset will be calculated from the time-zone in the clock.
 * <p>
 * Using this method allows the use of an alternate clock for testing.
 * The alternate clock may be introduced using {@link Clock dependency injection}.
 *
 * @param clock  the clock to use, not null
 * @return the current time, not null
 */
public static OffsetTime now(Clock clock) {
  Jdk8Methods.requireNonNull(clock, "clock");
  final Instant now = clock.instant();  // called once
  return ofInstant(now, clock.getZone().getRules().getOffset(now));
}

代码示例来源:origin: org.threeten/threetenbp

@Override
public ChronoZonedDateTime<D> withEarlierOffsetAtOverlap() {
  ZoneOffsetTransition trans = getZone().getRules().getTransition(LocalDateTime.from(this));
  if (trans != null && trans.isOverlap()) {
    ZoneOffset earlierOffset = trans.getOffsetBefore();
    if (earlierOffset.equals(offset) == false) {
      return new ChronoZonedDateTimeImpl<D>(dateTime, earlierOffset, zone);
    }
  }
  return this;
}

代码示例来源:origin: ThreeTen/threetenbp

@Override
public ChronoZonedDateTime<D> withEarlierOffsetAtOverlap() {
  ZoneOffsetTransition trans = getZone().getRules().getTransition(LocalDateTime.from(this));
  if (trans != null && trans.isOverlap()) {
    ZoneOffset earlierOffset = trans.getOffsetBefore();
    if (earlierOffset.equals(offset) == false) {
      return new ChronoZonedDateTimeImpl<D>(dateTime, earlierOffset, zone);
    }
  }
  return this;
}

代码示例来源:origin: ThreeTen/threetenbp

@Override
public ChronoZonedDateTime<D> withLaterOffsetAtOverlap() {
  ZoneOffsetTransition trans = getZone().getRules().getTransition(LocalDateTime.from(this));
  if (trans != null) {
    ZoneOffset offset = trans.getOffsetAfter();
    if (offset.equals(getOffset()) == false) {
      return new ChronoZonedDateTimeImpl<D>(dateTime, offset, zone);
    }
  }
  return this;
}

代码示例来源:origin: org.threeten/threetenbp

@Override
public ChronoZonedDateTime<D> withLaterOffsetAtOverlap() {
  ZoneOffsetTransition trans = getZone().getRules().getTransition(LocalDateTime.from(this));
  if (trans != null) {
    ZoneOffset offset = trans.getOffsetAfter();
    if (offset.equals(getOffset()) == false) {
      return new ChronoZonedDateTimeImpl<D>(dateTime, offset, zone);
    }
  }
  return this;
}

代码示例来源:origin: ThreeTen/threetenbp

/**
 * Obtains the current date-time from the specified clock.
 * <p>
 * This will query the specified clock to obtain the current date-time.
 * Using this method allows the use of an alternate clock for testing.
 * The alternate clock may be introduced using {@link Clock dependency injection}.
 *
 * @param clock  the clock to use, not null
 * @return the current date-time, not null
 */
public static LocalDateTime now(Clock clock) {
  Jdk8Methods.requireNonNull(clock, "clock");
  final Instant now = clock.instant();  // called once
  ZoneOffset offset = clock.getZone().getRules().getOffset(now);
  return ofEpochSecond(now.getEpochSecond(), now.getNano(), offset);
}

代码示例来源:origin: org.threeten/threetenbp

/**
 * Obtains the current date-time from the specified clock.
 * <p>
 * This will query the specified clock to obtain the current date-time.
 * Using this method allows the use of an alternate clock for testing.
 * The alternate clock may be introduced using {@link Clock dependency injection}.
 *
 * @param clock  the clock to use, not null
 * @return the current date-time, not null
 */
public static LocalDateTime now(Clock clock) {
  Jdk8Methods.requireNonNull(clock, "clock");
  final Instant now = clock.instant();  // called once
  ZoneOffset offset = clock.getZone().getRules().getOffset(now);
  return ofEpochSecond(now.getEpochSecond(), now.getNano(), offset);
}

代码示例来源:origin: ThreeTen/threetenbp

/**
 * Obtains an instance from an instant using the specified time-zone.
 *
 * @param chrono  the chronology, not null
 * @param instant  the instant, not null
 * @param zone  the zone identifier, not null
 * @return the zoned date-time, not null
 */
static <R extends ChronoLocalDate> ChronoZonedDateTimeImpl<R> ofInstant(Chronology chrono, Instant instant, ZoneId zone) {
  ZoneRules rules = zone.getRules();
  ZoneOffset offset = rules.getOffset(instant);
  Jdk8Methods.requireNonNull(offset, "offset");  // protect against bad ZoneRules
  LocalDateTime ldt = LocalDateTime.ofEpochSecond(instant.getEpochSecond(), instant.getNano(), offset);
  @SuppressWarnings("unchecked")
  ChronoLocalDateTimeImpl<R> cldt = (ChronoLocalDateTimeImpl<R>) chrono.localDateTime(ldt);
  return new ChronoZonedDateTimeImpl<R>(cldt, offset, zone);
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com