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

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

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

ZonedDateTime.withSecond介绍

[英]Returns a copy of this ZonedDateTime with the second-of-minute value altered.

This operates on the local time-line, LocalDateTime#withSecond(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的一个副本,其分钟秒值已更改。
这在本地时间线LocalDateTime#和本地日期时间的秒(int)上运行。然后将其转换回ZoneDateTime,使用分区ID获取偏移量。
当转换回ZoneDateTime时,如果本地日期时间重叠,那么如果可能,将保留偏移量,否则将使用较早的偏移量。如果存在间隙,本地日期时间将根据间隙的长度向前调整。
此实例是不可变的,不受此方法调用的影响。

代码示例

代码示例来源: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: 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 withSecond(int value) {
  return dt.withSecond(value);
}

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

case 'H':
  if (round) {
    dateTime = dateTime.withMinute(0).withSecond(0).withNano(0);
  } else {
    dateTime = dateTime.plusHours(sign * num);
case 'm':
  if (round) {
    dateTime = dateTime.withSecond(0).withNano(0);
  } else {
    dateTime = dateTime.plusMinutes(sign * num);

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

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

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

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

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

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

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

public static ZonedDateTime roundDownMinutes(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);
  return time.withMinute(mins - (mins % step));
}

代码示例来源:origin: rubenlagus/TelegramApi

/**
 * Find out next daily execution
 *
 * @param targetHour Target hour
 * @param targetMin  Target minute
 * @param targetSec  Target second
 * @return time in second to wait
 */
private long computNextDilay(int targetHour, int targetMin, int targetSec) {
  final LocalDateTime localNow = LocalDateTime.now();
  final ZoneId currentZone = ZoneId.systemDefault();
  final ZonedDateTime zonedNow = ZonedDateTime.of(localNow, currentZone);
  ZonedDateTime zonedNextTarget = zonedNow.withHour(targetHour).withMinute(targetMin).withSecond(targetSec);
  while (zonedNow.compareTo(zonedNextTarget) > 0) {
    zonedNextTarget = zonedNextTarget.plusDays(1);
  }
  final Duration duration = Duration.between(zonedNow, zonedNextTarget);
  return duration.getSeconds();
}

代码示例来源: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: 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: 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: 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: 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: io.vertx/vertx-jdbc-client

@Parameters(name = "{0}")
public static Collection<Object[]> generateData() {
 List<Object[]> params = new ArrayList<>();
 ZonedDateTime dateTime = ZonedDateTime.of(2016, 3, 16, 16, 0, 0, 0, ZoneId.of("Europe/Paris"));
 for (int i = 0; i < 4; i++) {
  int nanos = 123 * (i == 0 ? 0 : 1) * (int) Math.pow(1000, i > 1 ? i - 1 : 0);
  params.add(new Object[]{ISO_INSTANT.format(dateTime.withNano(nanos)), java.sql.Timestamp.class});
 }
 params.add(new Object[]{ISO_LOCAL_TIME.format(dateTime.withSecond(1)), java.sql.Time.class});
 params.add(new Object[]{dateTime.toLocalDate().toString(), java.sql.Date.class});
 params.add(new Object[]{"f47ac10b-58cc-4372-a567-0e02b2c3d479", UUID.class});
 return params;
}

代码示例来源:origin: prestosql/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: prestosql/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);
  }
}

相关文章

ZonedDateTime类方法