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);
@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()); } }
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);
@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 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); }
public ZonedDateTime withHour(int value) { return dt.withHour(value); }
public ZonedDateTime withHour(int value) { return dt.withHour(value); }
public ZonedDateTime withHour(int value) { return dt.withHour(value); }
public static DateHour of(LocalDate date, int hour) { return of(date.atStartOfDay(UTC).withHour(hour)); }
public static DateHour of(Date date, int hour) { return of(date.localDate().atStartOfDay(UTC).withHour(hour)); }
public static ZonedDateTime at(ZonedDateTime dt, int h, int min) { return atStartOfDay(dt).withHour(h).withMinute(min); }
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); }
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));
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; }
/** * * @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); }
@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(); }
/** * * @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); }
public static ZonedDateTime toZeroHMSN(ZonedDateTime dateTime) { return dateTime.withHour(0).withMinute(0).withSecond(0).withNano(0); }
@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)); } }
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; }