java.time.ZonedDateTime.plusHours()方法的使用及代码示例

x33g5p2x  于2022-02-05 转载在 其他  
字(8.0k)|赞(0)|评价(0)|浏览(155)

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

ZonedDateTime.plusHours介绍

[英]Returns a copy of this ZonedDateTime with the specified period in hours added.

This operates on the instant time-line, such that adding one hour will always be a duration of one hour later. This may cause the local date-time to change by an amount other than one hour. Note that this is a different approach to that used by days, months and years, thus adding one day is not the same as adding 24 hours.

For example, consider a time-zone where the spring DST cutover means that the local times 01:00 to 01:59 occur twice changing from offset +02:00 to +01:00.

  • Adding one hour to 00:30+02:00 will result in 01:30+02:00
  • Adding one hour to 01:30+02:00 will result in 01:30+01:00
  • Adding one hour to 01:30+01:00 will result in 02:30+01:00
  • Adding three hours to 00:30+02:00 will result in 02:30+01:00

This instance is immutable and unaffected by this method call.
[中]返回此ZoneDateTime的副本,并添加指定的时间段(以小时为单位)。
这是在即时时间线上运行的,因此添加一个小时将始终是一个小时后的持续时间。这可能会导致本地日期时间的更改量超过一小时。请注意,这与按天、月和年使用的方法不同,因此添加一天与添加24小时并不相同。
例如,考虑一个时区,其中Spring DST切换意味着本地时间01:00到01:59发生两次从偏移+02:00到+01:00的变化。
*将一小时添加到00:30+02:00将导致01:30+02:00
*将一小时添加到01:30+02:00将导致01:30+01:00
*将一小时添加到01:30+01:00将导致02:30+01:00
*将三个小时添加到00:30+02:00将导致02:30+01:00
此实例是不可变的,不受此方法调用的影响。

代码示例

代码示例来源:origin: spring-cloud/spring-cloud-gateway

static String plusHours(int hours) {
  return ZonedDateTime.now().plusHours(hours).format(DateTimeFormatter.ISO_ZONED_DATE_TIME);
}

代码示例来源:origin: spring-cloud/spring-cloud-gateway

@Test
public void testPredicates() {
  boolean result = new BetweenRoutePredicateFactory()
      .apply(c -> c.setDatetime1(ZonedDateTime.now().minusHours(2))
          .setDatetime2(ZonedDateTime.now().plusHours(1)))
      .test(getExchange());
  assertThat(result).isTrue();
}

代码示例来源:origin: org.elasticsearch/elasticsearch

public ZonedDateTime plusHours(long amount) {
  return dt.plusHours(amount);
}

代码示例来源:origin: org.elasticsearch/elasticsearch

dateTime = dateTime.withMinute(0).withSecond(0).withNano(0);
} else {
  dateTime = dateTime.plusHours(sign * num);
  dateTime = dateTime.plusHours(1);

代码示例来源:origin: com.googlecode.wicket-jquery-ui/wicket-kendo-ui

/**
 * Constructor<br>
 * The end date will be the start date + {@link #DEFAULT_RANGE} hour(s)
 *
 * @param id the event id
 * @param title the event title
 * @param start the start date
 */
public SchedulerEvent(Number id, String title, ZonedDateTime start)
{
  this(id, title, start, start.plusHours(DEFAULT_RANGE));
}

代码示例来源:origin: com.googlecode.wicket-jquery-ui/wicket-kendo-ui

/**
 * Constructor<br>
 * The end date will be the start date + {@link #DEFAULT_RANGE} hour(s)<br>
 * <b>Caution:</b> if the id is not a number, the datasource's schema need to reflect the type
 *
 * @param id the event id
 * @param title the event title
 * @param start the start date
 */
public SchedulerEvent(Object id, String title, ZonedDateTime start)
{
  this(id, title, start, start.plusHours(DEFAULT_RANGE));
}

代码示例来源:origin: stackoverflow.com

Long input = 1457928024812L;
Instant instant = Instant.ofEpochMilli ( input );

ZoneId zoneId = ZoneId.of ( "America/Chicago" );
ZonedDateTime zdt = ZonedDateTime.ofInstant ( instant, zoneId );

ZonedDateTime zdtHourLater = zdt.plusHours ( 1 );

代码示例来源:origin: stackoverflow.com

ZoneId z = ZoneId.of( "America/Montreal" );
ZonedDateTime zdtStart = ZonedDateTime.now( z );
ZonedDateTime zdtStop = zdtStart.plusHours( 3 ).plusMinutes( 7 );

Duration d = Duration.between( zdtStart , zdtStop );

代码示例来源:origin: stackoverflow.com

ZoneId zoneId = ZoneId.of( "America/Montreal" );
ZonedDateTime zdt1 = ZonedDateTime.of( LocalDate.of( 2016 , 1 , 2 ) , LocalTime.of( 16 , 0 , 0 ) , zoneId );
Instant start1 = zdt1.toInstant();
Instant stop1 = zdt1.plusHours( 2 ).toInstant(); // 18:00:00.0 = ( 16:00:00.0 + 2 hours ).
Interval reservation1 = Interval.of( start1 , stop1 );

代码示例来源:origin: stackoverflow.com

System.out.println ( "java.version: " + System.getProperty ( "java.version" ) );

ZoneId z = ZoneId.of ( "Europe/Istanbul" );
ZonedDateTime zdt = ZonedDateTime.of ( 2016 , 10 , 30 , 0 , 0 , 0 , 0 , z );

System.out.println ( "    zdt: " + zdt );
System.out.println ( "zdt + 1: " + zdt.plusHours ( 1 ) );
System.out.println ( "zdt + 2: " + zdt.plusHours ( 2 ) );
System.out.println ( "zdt + 3: " + zdt.plusHours ( 3 ) );
System.out.println ( "zdt + 4: " + zdt.plusHours ( 4 ) );
System.out.println ( "zdt + 5: " + zdt.plusHours ( 5 ) );
System.out.println ( "zdt + 6: " + zdt.plusHours ( 6 ) );

代码示例来源:origin: no.api.meteo/meteo-core

public static ZonedDateTime calculateTimeForSunrise(ZonedDateTime from, ZonedDateTime to) {
    Duration d = Duration.between(from, to);
    long distance = d.getSeconds() / 60 / 60 / 2;
    return from.plusHours(distance);
  }
}

代码示例来源:origin: stackoverflow.com

ZonedDateTime nextDay = start.plusDays ( 1 );
ZonedDateTime zdt = start;
while ( zdt.isBefore ( nextDay ) ) {
  ZonedDateTime zdtMinute = zdt;
  ZonedDateTime zdtNextHour = zdtMinute.plusHours ( 1 );
  while ( zdtMinute.isBefore ( zdtNextHour ) ) {
    System.out.println ( zdtMinute.toString () );
    // Prepare for next loop.
    zdtMinute = zdtMinute.plusMinutes ( 1 );
  }
  // Prepare for next loop.
  zdt = zdt.plusHours ( 1 );
}

代码示例来源:origin: UniversaBlockchain/universa

@Override
public ZonedDateTime getExpiresAt() {
  return expiresAtPlusFive ? ZonedDateTime.now().plusHours(5) : ZonedDateTime.now();
}

代码示例来源:origin: com.guestful.module/guestful.module.jsr310-extensions

public static ZonedDateTime roundUpMinutes(ZonedDateTime time, int step) {
  int mins = time.getMinute();
  time = time.withSecond(0).withNano(0);
  if (mins % step == 0) return time;
  if (60 % step != 0) throw new IllegalArgumentException("Invalid step: " + step);
  mins = mins + step - (mins % step);
  return mins < 60 ? time.withMinute(mins) : time.plusHours(1).withMinute(mins - 60);
}

代码示例来源:origin: org.apache.james/james-server-jmap

@Test
public void getValidityShouldReturnFalseWhenTokenIsOutdated() throws Exception {
  zonedDateTimeProvider.setFixedDateTime(DATE);
  ContinuationToken continuationToken = tokenFactory.generateContinuationToken("user");
  zonedDateTimeProvider.setFixedDateTime(DATE.plusHours(1));
  assertThat(tokenManager.getValidity(continuationToken)).isEqualTo(TokenStatus.EXPIRED);
}

代码示例来源:origin: org.apache.james/james-server-jmap

@Test
public void isValidShouldReturnFalseWhenTokenIsOutdated() throws Exception {
  zonedDateTimeProvider.setFixedDateTime(DATE);
  ContinuationToken continuationToken = tokenFactory.generateContinuationToken("user");
  zonedDateTimeProvider.setFixedDateTime(DATE.plusHours(1));
  assertThat(tokenManager.isValid(continuationToken)).isFalse();
}

代码示例来源:origin: org.apache.james/james-server-jmap

@Test
public void getValidityhouldRecognizeTokenWhereExpirationDateIsModified() throws Exception {
  zonedDateTimeProvider.setFixedDateTime(DATE);
  ContinuationToken continuationToken = tokenFactory.generateContinuationToken("user");
  ContinuationToken pirateContinuationToken = new ContinuationToken(continuationToken.getUsername(),
    continuationToken.getExpirationDate().plusHours(1),
    continuationToken.getSignature());
  assertThat(tokenManager.getValidity(pirateContinuationToken)).isEqualTo(TokenStatus.INVALID);
}

代码示例来源:origin: org.apache.james/james-server-jmap

@Test
public void isValidShouldRecognizeTokenWhereExpirationDateIsModified() throws Exception {
  zonedDateTimeProvider.setFixedDateTime(DATE);
  ContinuationToken continuationToken = tokenFactory.generateContinuationToken("user");
  ContinuationToken pirateContinuationToken = new ContinuationToken(continuationToken.getUsername(),
    continuationToken.getExpirationDate().plusHours(1),
    continuationToken.getSignature());
  assertThat(tokenManager.isValid(pirateContinuationToken)).isFalse();
}

代码示例来源:origin: OpenGamma/Strata

static ResolvedSwaption sut2() {
 return ResolvedSwaption.builder()
   .expiry(EXPIRY.plusHours(1))
   .longShort(SHORT)
   .swaptionSettlement(CASH_SETTLE)
   .underlying(FixedIborSwapConventions.USD_FIXED_6M_LIBOR_3M
     .createTrade(LocalDate.of(2014, 6, 10), Tenor.TENOR_10Y, BuySell.BUY, 1d, FIXED_RATE, REF_DATA)
     .getProduct().resolve(REF_DATA))
   .build();
}

代码示例来源:origin: commercetools/commercetools-jvm-sdk

@Test
public void addPriceWithValidityPeriod() throws Exception {
  final PriceDraft expectedPrice = PriceDraft.of(MoneyImpl.of(123, EUR))
      .withValidFrom(SphereTestUtils.now())
      .withValidUntil(SphereTestUtils.now().withZoneSameLocal(ZoneOffset.UTC).plusHours(2));
  testAddPrice(expectedPrice);
}

相关文章

ZonedDateTime类方法