switch (period) { case YEAR: zonedDateTime = zonedDateTime.truncatedTo(ChronoUnit.DAYS) .withDayOfYear(1) .plus(1, ChronoUnit.YEARS); break; case MONTH: zonedDateTime = zonedDateTime.truncatedTo(ChronoUnit.DAYS) .withDayOfMonth(1) .plus(1,ChronoUnit.MONTHS); break; case WEEK: zonedDateTime = zonedDateTime.truncatedTo(ChronoUnit.DAYS) .with(TemporalAdjusters.next(WeekFields.of(Locale.getDefault()).getFirstDayOfWeek())); break; case DAY: zonedDateTime = zonedDateTime.truncatedTo(ChronoUnit.DAYS) .plus(1, ChronoUnit.DAYS); break; case HALF_DAY: ZonedDateTime halfDay = ZonedDateTime.from(zonedDateTime).truncatedTo(ChronoUnit.DAYS) .plus(1, ChronoUnit.HALF_DAYS); if ( zonedDateTime.isBefore(halfDay) ) { zonedDateTime = zonedDateTime.truncatedTo(ChronoUnit.HOURS) .plus(1, ChronoUnit.HOURS); break; case MINUTE: zonedDateTime = zonedDateTime.truncatedTo(ChronoUnit.MINUTES)
stopTime.trip_id = trip.trip_id; final ZonedDateTime arrival_time = Instant.ofEpochSecond(stopTimeUpdate.getArrival().getTime()).atZone(timezone); stopTime.arrival_time = (int) Duration.between(arrival_time.truncatedTo(ChronoUnit.DAYS), arrival_time).getSeconds(); final ZonedDateTime departure_time = Instant.ofEpochSecond(stopTimeUpdate.getArrival().getTime()).atZone(timezone); stopTime.departure_time = (int) Duration.between(departure_time.truncatedTo(ChronoUnit.DAYS), departure_time).getSeconds(); stopTimes.add(stopTime); logger.trace("Number of stop times: {}", stopTimes.size());
stopTime.trip_id = trip.trip_id; final ZonedDateTime arrival_time = Instant.ofEpochSecond(stopTimeUpdate.getArrival().getTime()).atZone(timezone); stopTime.arrival_time = (int) Duration.between(arrival_time.truncatedTo(ChronoUnit.DAYS), arrival_time).getSeconds(); final ZonedDateTime departure_time = Instant.ofEpochSecond(stopTimeUpdate.getArrival().getTime()).atZone(timezone); stopTime.departure_time = (int) Duration.between(departure_time.truncatedTo(ChronoUnit.DAYS), departure_time).getSeconds(); return stopTime; })
LocalDateTime now = LocalDateTime.now(); ZonedDateTime zoned = now.atZone(ZoneId.of("America/Denver")); System.out.println("Pre-Truncate: " + zoned); DateTimeFormatter dtf = DateTimeFormatter.ISO_OFFSET_DATE_TIME; System.out.println("Post-Truncate: " + zoned.truncatedTo(ChronoUnit.SECONDS).format(dtf));
@SuppressForbidden(reason = "only exposing the method as a passthrough") public ZonedDateTime truncatedTo(TemporalUnit unit) { return dt.truncatedTo(unit); }
ZonedDateTime zdt = ZonedDateTime.of(2015, 10, 18, 0, 30, 0, 0, ZoneId.of("America/Sao_Paulo")); // switch to summer time ZonedDateTime zdt1 = zdt.truncatedTo(ChronoUnit.DAYS); ZonedDateTime zdt2 = zdt.toLocalDate().atStartOfDay(zdt.getZone()); System.out.println(zdt); // 2015-10-18T01:30-02:00[America/Sao_Paulo] System.out.println(zdt1); // 2015-10-18T01:00-02:00[America/Sao_Paulo] System.out.println(zdt2); // 2015-10-18T01:00-02:00[America/Sao_Paulo]
/** * Returns an {@link java.time.ZonedDateTime} with the time portion cleared. * * @param self a ZonedDateTime * @return a ZonedDateTime * @since 2.5.0 */ public static ZonedDateTime clearTime(final ZonedDateTime self) { return self.truncatedTo(DAYS); }
/** * Determine start of day for this zoned date time (the start is at 00:00:00). * * @param date date time * * @return start of the day */ public static ZonedDateTime zdtAtStartOfDay(final ZonedDateTime date) { return date != null ? date.truncatedTo(ChronoUnit.DAYS) : null; }
private static String formatDate(final ZonedDateTime param) { // IDOL ISO date time does not have a year 0 whereas Java ISO date time does return DateTimeFormatter.ISO_INSTANT .format(param.truncatedTo(ChronoUnit.SECONDS)); }
protected String formatElement(final ZonedDateTime range) { // IDOL ISO date time does not have a year 0 whereas Java ISO date time does return DateTimeFormatter.ISO_INSTANT .format(range.truncatedTo(ChronoUnit.SECONDS)); } }
@Override public boolean isAfter(final ZonedDateTime other) { return wrapped.apply(zone).truncatedTo(accuracy).toInstant().isAfter(other.truncatedTo(accuracy).toInstant()); }
public static String iso8601OffsetString(Date d, ZoneId zone, ChronoUnit truncateTo) { ZonedDateTime zdt = ((d).toInstant()) .atZone(zone); if(truncateTo != null) { zdt = zdt.truncatedTo(truncateTo); } return zdt.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME); }
@Override public boolean isBefore(final Date other) { return wrapped.apply(zone).truncatedTo(accuracy).toInstant().isBefore(other.toInstant().atZone(zone).truncatedTo(accuracy).toInstant()); }
public static Long atMidnight(LocalDateTime date) { return date .atZone(ZoneId.of("UTC")) .truncatedTo(ChronoUnit.DAYS) .toInstant().toEpochMilli(); }
@Override public boolean isSame(final ZonedDateTime other) { return wrapped.apply(zone).truncatedTo(accuracy).toInstant().equals(other.truncatedTo(accuracy).toInstant()); }
public ReportParams(String siteId){ this.siteId = siteId; whatToolIds.add(ReportManager.WHAT_EVENTS_ALLTOOLS); // events are counted against a particular date using the server time zone, so initialize the date // range based on the current date in that time zone ZonedDateTime today = ZonedDateTime.now(ZoneId.systemDefault()).truncatedTo(ChronoUnit.DAYS); ZonedDateTime yesterday = today.minusDays(1); whenFrom = Date.from(yesterday.toInstant()); whenTo = Date.from(today.toInstant()); }
public List<Binder> getPaymentStats(Ledger ledger, int daysNum) { List<Binder> result = new ArrayList<>(); ZonedDateTime now = ZonedDateTime.now(); Map<Integer, Integer> payments = ledger.getPayments(now.truncatedTo(ChronoUnit.DAYS).minusDays(daysNum)); payments.keySet().forEach( day -> { result.add(Binder.of("date",ZonedDateTime.ofInstant(Instant.ofEpochSecond(day), ZoneId.systemDefault()).format(formatter), "units",payments.get(day))); }); return result; } }
private static String format(LocalDateTime datetime) { // We format using second resolutions in UTC return datetime.atZone(ZoneOffset.systemDefault()) .withZoneSameInstant(ZoneOffset.UTC) .truncatedTo(ChronoUnit.SECONDS) .format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)+"Z"; }
public ZonedDateTime evaluate(ZonedDateTime zdt, EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context) { if (code == ApacheCommonsDateUtils.MODIFY_TRUNCATE) { return zdt.truncatedTo(fieldName.getChronoUnit()); } else if (code == ApacheCommonsDateUtils.MODIFY_CEILING) { return zdt.plus(1, fieldName.getChronoUnit()).truncatedTo(fieldName.getChronoUnit()); } else { throw new EPException("Round-half operation not supported for ZonedDateTime"); } }
private ExecutionTimeResult getNextPotentialDayOfMonth(final ZonedDateTime date, final int lowestHour, final int lowestMinute, final int lowestSecond, final TimeNode node) { final NearestValue nearestValue = node.getNextValue(date.getDayOfMonth(), 0); if (nearestValue.getShifts() > 0) { return new ExecutionTimeResult(date.truncatedTo(DAYS).withDayOfMonth(1).plusMonths(nearestValue.getShifts()), false); } return new ExecutionTimeResult(date.truncatedTo(SECONDS).withDayOfMonth(nearestValue.getValue()) .with(LocalTime.of(lowestHour, lowestMinute, lowestSecond)), false); }