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

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

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

ZonedDateTime.withHour介绍

[英]Returns a copy of this ZonedDateTime with the hour-of-day value altered.

This operates on the local time-line, LocalDateTime#withHour(int) of the local date-time. This is then converted back to a ZonedDateTime, using the zone ID to obtain the offset.

When converting back to ZonedDateTime, if the local date-time is in an overlap, then the offset will be retained if possible, otherwise the earlier offset will be used. If in a gap, the local date-time will be adjusted forward by the length of the gap.

This instance is immutable and unaffected by this method call.
[中]返回此ZoneDateTime的副本,并更改小时值。
这在本地时间线上运行,即本地日期时间#与本地日期时间的小时(int)。然后将其转换回ZoneDateTime,使用分区ID获取偏移量。
当转换回ZoneDateTime时,如果本地日期时间重叠,那么如果可能,将保留偏移量,否则将使用较早的偏移量。如果存在间隙,本地日期时间将根据间隙的长度向前调整。
此实例是不可变的,不受此方法调用的影响。

代码示例

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

LocalDateTime localNow = LocalDateTime.now();
   ZoneId currentZone = ZoneId.of("America/Los_Angeles");
   ZonedDateTime zonedNow = ZonedDateTime.of(localNow, currentZone);
   ZonedDateTime zonedNext5 ;
   zonedNext5 = zonedNow.withHour(5).withMinute(0).withSecond(0);
   if(zonedNow.compareTo(zonedNext5) > 0)
     zonedNext5 = zonedNext5.plusDays(1);
   Duration duration = Duration.between(zonedNow, zonedNext5);
   long initalDelay = duration.getSeconds();
   ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);            
   scheduler.scheduleAtFixedRate(new MyRunnableTask(), initalDelay,
                  24*60*60, TimeUnit.SECONDS);

代码示例来源:origin: prestodb/presto

@Override
  public ConnectorPageSource createPageSource(
      ConnectorTransactionHandle transactionHandle,
      ConnectorSession session,
      ConnectorSplit split,
      List<ColumnHandle> columns)
  {
    AtopSplit atopSplit = (AtopSplit) split;

    ImmutableList.Builder<Type> types = ImmutableList.builder();
    ImmutableList.Builder<AtopColumn> atopColumns = ImmutableList.builder();

    for (ColumnHandle column : columns) {
      AtopColumnHandle atopColumnHandle = (AtopColumnHandle) column;
      AtopColumn atopColumn = atopSplit.getTable().getColumn(atopColumnHandle.getName());
      atopColumns.add(atopColumn);
      types.add(typeManager.getType(atopColumn.getType()));
    }

    ZonedDateTime date = atopSplit.getDate();
    checkArgument(date.equals(date.withHour(0).withMinute(0).withSecond(0).withNano(0)), "Expected date to be at beginning of day");
    return new AtopPageSource(readerPermits, atopFactory, session, utf8Slice(atopSplit.getHost().getHostText()), atopSplit.getTable(), date, atopColumns.build(), types.build());
  }
}

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

ZoneId currentZone = ZoneId.systemDefault();
ZonedDateTime zonedNow = ZonedDateTime.of(localNow, currentZone);
ZonedDateTime zonedNextTarget = zonedNow.withHour(targetHour).withMinute(targetMin).withSecond(targetSec);
if(zonedNow.compareTo(zonedNextTarget) > 0)
  zonedNextTarget = zonedNextTarget.plusDays(1);

代码示例来源:origin: prestodb/presto

@Override
  public ConnectorSplitSource getSplits(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorTableLayoutHandle layoutHandle, SplitSchedulingStrategy splitSchedulingStrategy)
  {
    AtopTableLayoutHandle handle = (AtopTableLayoutHandle) layoutHandle;

    AtopTableHandle table = handle.getTableHandle();

    List<ConnectorSplit> splits = new ArrayList<>();
    ZonedDateTime end = ZonedDateTime.now(timeZone);
    for (Node node : nodeManager.getWorkerNodes()) {
      ZonedDateTime start = end.minusDays(maxHistoryDays - 1).withHour(0).withMinute(0).withSecond(0).withNano(0);
      while (start.isBefore(end)) {
        ZonedDateTime splitEnd = start.withHour(23).withMinute(59).withSecond(59).withNano(0);
        Domain splitDomain = Domain.create(ValueSet.ofRanges(Range.range(TIMESTAMP_WITH_TIME_ZONE, 1000 * start.toEpochSecond(), true, 1000 * splitEnd.toEpochSecond(), true)), false);
        if (handle.getStartTimeConstraint().overlaps(splitDomain) && handle.getEndTimeConstraint().overlaps(splitDomain)) {
          splits.add(new AtopSplit(table.getTable(), node.getHostAndPort(), start.toEpochSecond(), start.getZone()));
        }
        start = start.plusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(0);
      }
    }

    return new FixedSplitSource(splits);
  }
}

代码示例来源:origin: blynkkk/blynk-server

ZonedDateTime buildZonedStartAt(ZonedDateTime zonedNow, ZoneId zoneId) {
  ZonedDateTime zonedStartAt = getZonedFromTs(atTime, zoneId);
  zonedStartAt = zonedNow
      .withHour(zonedStartAt.getHour())
      .withMinute(zonedStartAt.getMinute())
      .withSecond(zonedStartAt.getSecond());
  return adjustToStartDate(zonedStartAt, zonedNow, zoneId);
}

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

public ZonedDateTime withHour(int value) {
  return dt.withHour(value);
}

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

public ZonedDateTime withHour(int value) {
  return dt.withHour(value);
}

代码示例来源:origin: apache/servicemix-bundles

public ZonedDateTime withHour(int value) {
  return dt.withHour(value);
}

代码示例来源:origin: spotify/flo

public static DateHour of(LocalDate date, int hour) {
 return of(date.atStartOfDay(UTC).withHour(hour));
}

代码示例来源:origin: spotify/flo

public static DateHour of(Date date, int hour) {
 return of(date.localDate().atStartOfDay(UTC).withHour(hour));
}

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

public static ZonedDateTime at(ZonedDateTime dt, int h, int min) {
  return atStartOfDay(dt).withHour(h).withMinute(min);
}

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

public MeteoExtrasForecastDay createSimpleForcastForDay(ZonedDateTime dateTime) {
  ZonedDateTime dt = toZeroMSN(dateTime.withZoneSameInstant(zoneId));
  List<MeteoExtrasForecast> forecasts = new ArrayList<>();
  findNearestForecast(dt.withHour(12)).ifPresent(forecasts::add);
  return new MeteoExtrasForecastDay(dt.toLocalDate(), forecasts);
}

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

ZonedDateTime zdt = ZonedDateTime.now(ZoneId.of("US/Eastern"));
ZonedDateTime target2 = zdt
  .withHour(15)
  .withMinute(0)
  .withSecond(0)
  .withNano(0);

if (target2.isBefore(zdt)) {
 zdt = zdt.plusDays(1);
}

System.out.println(zdt.until(target2, ChronoUnit.MILLIS));

代码示例来源:origin: jzyong/game-server

public static long offsetCurrentTimeMillis(int offsetDays, int hour, int minute, int secord) {
  ZonedDateTime ldt = ZonedDateTime.ofInstant(Instant.ofEpochMilli(currentTimeMillis()), ZoneId.systemDefault());
  if (offsetDays > 0) {
    ldt = ldt.plusDays(offsetDays);
  } else if (offsetDays < 0) {
    ldt = ldt.minusDays(offsetDays);
  }
  ldt = ldt.withHour(hour);
  ldt = ldt.withMinute(minute);
  ldt = ldt.withSecond(secord);
  return ldt.toEpochSecond() * 1000;
}

代码示例来源:origin: org.thymeleaf.extras/thymeleaf-extras-java8time

/**
 *
 * @return a instance of java.time.ZonedDateTime with 00:00:00.000 for the time part
 * @since 2.1.0
 */
public Temporal createTodayForTimeZone(final Object zoneId) {
  return ZonedDateTime.now(zoneId(zoneId))
    .withHour(0).withMinute(0).withSecond(0).withNano(0);
}

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

@Override
public Instant instant() {
  ZonedDateTime dt = ZonedDateTime.now(zone);
  if (year != null) dt = dt.withYear(year);
  if (month != null) dt = dt.withMonth(month);
  if (day != null) dt = dt.withDayOfMonth(day);
  if (hour != null) dt = dt.withHour(hour);
  if (min != null) dt = dt.withMinute(min);
  if (sec != null) dt = dt.withSecond(sec);
  return dt.toInstant();
}

代码示例来源:origin: thymeleaf/thymeleaf-extras-java8time

/**
 *
 * @return a instance of java.time.ZonedDateTime with 00:00:00.000 for the time part
 * @since 2.1.0
 */
public Temporal createTodayForTimeZone(final Object zoneId) {
  return ZonedDateTime.now(zoneId(zoneId))
    .withHour(0).withMinute(0).withSecond(0).withNano(0);
}

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

public static ZonedDateTime toZeroHMSN(ZonedDateTime dateTime) {
  return dateTime.withHour(0).withMinute(0).withSecond(0).withNano(0);
}

代码示例来源:origin: de.knightsoft-net/mt-bean-validators

@Override
 public final boolean isValid(final ZonedDateTime pvalue,
   final ConstraintValidatorContext pcontext) {
  if (pvalue == null) {
   return true;
  }
  final ZonedDateTime dateLimit = ZonedDateTime.now().minusYears(minYears).withHour(0)
    .withMinute(0).withSecond(0).withNano(0);
  return !dateLimit.isBefore(pvalue.withHour(0).withMinute(0).withSecond(0).withNano(0));
 }
}

代码示例来源:origin: no.ssb.vtl/java-vtl-ssb-api-connector

private List<String> getPeriods(ZonedDateTime validFrom, ZonedDateTime validTo) {
  if (periodType != PeriodType.YEAR) {
    throw new UnsupportedOperationException("Period type: " + periodType + " not supported");
  }
  List<String> periods = new ArrayList<>();
  ZonedDateTime current = validFrom;
  ZonedDateTime nextYear =
      ZonedDateTime.ofInstant(TimeUtil.now(), ZoneId.of(KLASS_TIME_ZONE))
          .plusYears(1).with(DECEMBER).with(lastDayOfMonth()).withHour(23);
  while (current.isBefore(validTo) && current.isBefore(nextYear)) {
    periods.add(String.valueOf(current.getYear()));
    current = current.plusYears(1);
  }
  return periods;
}

相关文章

ZonedDateTime类方法