List of usage examples for java.time LocalDateTime withHour
public LocalDateTime withHour(int hour)
From source file:Main.java
public static void main(String[] args) { LocalDateTime a = LocalDateTime.of(2014, 6, 30, 12, 01); LocalDateTime t = a.withHour(12); System.out.println(t);// w ww . j a v a 2 s .c o m }
From source file:Main.java
/** * Gets the next or same closest date from the specified days in * {@code daysOfWeek List} at specified {@code hour} and {@code min}. * // w ww. ja v a 2s.c om * @param daysOfWeek * the days of week * @param hour * the hour * @param min * the min * @return the next or same date from the days of week at specified time * @throws IllegalArgumentException * if the {@code daysOfWeek List} is empty. */ public static LocalDateTime getNextClosestDateTime(List<DayOfWeek> daysOfWeek, int hour, int min) throws IllegalArgumentException { if (daysOfWeek.isEmpty()) { throw new IllegalArgumentException("daysOfWeek should not be empty."); } final LocalDateTime dateNow = LocalDateTime.now(); final LocalDateTime dateNowWithDifferentTime = dateNow.withHour(hour).withMinute(min).withSecond(0); // @formatter:off return daysOfWeek.stream().map(d -> dateNowWithDifferentTime.with(TemporalAdjusters.nextOrSame(d))) .filter(d -> d.isAfter(dateNow)).min(Comparator.naturalOrder()) .orElse(dateNowWithDifferentTime.with(TemporalAdjusters.next(daysOfWeek.get(0)))); // @formatter:on }
From source file:edu.usu.sdl.openstorefront.common.util.TimeUtil.java
/** * Get the end of the day passed in/*from w w w. j a va2s .c o m*/ * * @param date * @return end of the day or null if date was null */ public static Date endOfDay(Date date) { if (date != null) { Instant instant = Instant.ofEpochMilli(date.getTime()); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()); localDateTime = localDateTime.withHour(23).withMinute(59).withSecond(59) .with(ChronoField.MILLI_OF_SECOND, 999); return new Date(localDateTime.toInstant(ZoneOffset.UTC).toEpochMilli()); } return date; }
From source file:org.apache.openmeetings.web.user.calendar.CalendarPanel.java
@Override protected void onInitialize() { final Form<Date> form = new Form<>("form"); add(form);//from w w w. jav a 2 s.c o m dialog = new AppointmentDialog("appointment", this, new CompoundPropertyModel<>(getDefault())); add(dialog); boolean isRtl = isRtl(); Options options = new Options(); options.set("isRTL", isRtl); options.set("height", Options.asString("parent")); options.set("header", isRtl ? "{left: 'agendaDay,agendaWeek,month', center: 'title', right: 'today nextYear,next,prev,prevYear'}" : "{left: 'prevYear,prev,next,nextYear today', center: 'title', right: 'month,agendaWeek,agendaDay'}"); options.set("allDaySlot", false); options.set("axisFormat", Options.asString("H(:mm)")); options.set("defaultEventMinutes", 60); options.set("timeFormat", Options.asString("H(:mm)")); options.set("buttonText", new JSONObject().put("month", getString("801")).put("week", getString("800")) .put("day", getString("799")).put("today", getString("1555")).toString()); options.set("locale", Options.asString(WebSession.get().getLocale().toLanguageTag())); calendar = new Calendar("calendar", new AppointmentModel(), options) { private static final long serialVersionUID = 1L; @Override protected void onInitialize() { super.onInitialize(); add(new CalendarFunctionsBehavior(getMarkupId())); } @Override public boolean isSelectable() { return true; } @Override public boolean isDayClickEnabled() { return true; } @Override public boolean isEventClickEnabled() { return true; } @Override public boolean isEventDropEnabled() { return true; } @Override public boolean isEventResizeEnabled() { return true; } //no need to override onDayClick @Override public void onSelect(AjaxRequestTarget target, CalendarView view, LocalDateTime start, LocalDateTime end, boolean allDay) { Appointment a = getDefault(); LocalDateTime s = start, e = end; if (CalendarView.month == view) { LocalDateTime now = ZonedDateTime.now(getZoneId()).toLocalDateTime(); s = start.withHour(now.getHour()).withMinute(now.getMinute()); e = s.plus(1, ChronoUnit.HOURS); } a.setStart(getDate(s)); a.setEnd(getDate(e)); dialog.setModelObjectWithAjaxTarget(a, target); dialog.open(target); } @Override public void onEventClick(AjaxRequestTarget target, CalendarView view, String eventId) { if (!StringUtils.isNumeric(eventId)) { return; } Appointment a = apptDao.get(Long.valueOf(eventId)); dialog.setModelObjectWithAjaxTarget(a, target); dialog.open(target); } @Override public void onEventDrop(AjaxRequestTarget target, String eventId, long delta, boolean allDay) { if (!StringUtils.isNumeric(eventId)) { refresh(target); return; } Appointment a = apptDao.get(Long.valueOf(eventId)); if (!AppointmentDialog.isOwner(a)) { return; } java.util.Calendar cal = WebSession.getCalendar(); cal.setTime(a.getStart()); cal.add(java.util.Calendar.MILLISECOND, (int) delta); a.setStart(cal.getTime()); cal.setTime(a.getEnd()); cal.add(java.util.Calendar.MILLISECOND, (int) delta); a.setEnd(cal.getTime()); apptDao.update(a, getUserId()); if (a.getCalendar() != null) { updatedeleteAppointment(target, CalendarDialog.DIALOG_TYPE.UPDATE_APPOINTMENT, a); } } @Override public void onEventResize(AjaxRequestTarget target, String eventId, long delta) { if (!StringUtils.isNumeric(eventId)) { refresh(target); return; } Appointment a = apptDao.get(Long.valueOf(eventId)); if (!AppointmentDialog.isOwner(a)) { return; } java.util.Calendar cal = WebSession.getCalendar(); cal.setTime(a.getEnd()); cal.add(java.util.Calendar.MILLISECOND, (int) delta); a.setEnd(cal.getTime()); apptDao.update(a, getUserId()); if (a.getCalendar() != null) { updatedeleteAppointment(target, CalendarDialog.DIALOG_TYPE.UPDATE_APPOINTMENT, a); } } }; form.add(calendar); populateGoogleCalendars(); add(refreshTimer); add(syncTimer); calendarDialog = new CalendarDialog("calendarDialog", this, new CompoundPropertyModel<>(getDefaultCalendar())); add(calendarDialog); calendarListContainer.setOutputMarkupId(true); calendarListContainer .add(new ListView<OmCalendar>("items", new LoadableDetachableModel<List<OmCalendar>>() { private static final long serialVersionUID = 1L; @Override protected List<OmCalendar> load() { List<OmCalendar> cals = new ArrayList<>(apptManager.getCalendars(getUserId())); cals.addAll(apptManager.getGoogleCalendars(getUserId())); return cals; } }) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<OmCalendar> item) { item.setOutputMarkupId(true); final OmCalendar cal = item.getModelObject(); item.add(new WebMarkupContainer("item").add(new Label("name", cal.getTitle()))); item.add(new AjaxEventBehavior(EVT_CLICK) { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { calendarDialog.open(target, CalendarDialog.DIALOG_TYPE.UPDATE_CALENDAR, cal); target.add(calendarDialog); } }); } }); add(new Button("syncCalendarButton").add(new AjaxEventBehavior(EVT_CLICK) { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { syncCalendar(target); } })); add(new Button("submitCalendar").add(new AjaxEventBehavior(EVT_CLICK) { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { calendarDialog.open(target, CalendarDialog.DIALOG_TYPE.UPDATE_CALENDAR, getDefaultCalendar()); target.add(calendarDialog); } })); add(calendarListContainer); super.onInitialize(); }
From source file:onl.area51.gfs.grib2.job.GribRetriever.java
/** * Convert a {@link LocalDateTime} to a GFS run time. Specifically this is the date and hour of the day restricted to 0, 7, 12 or 18 hours. * <p>//from w w w. jav a 2 s . c om * @param date date * <p> * @return date modified to the nearest GFS run (earlier than date) or null if date was null */ public static LocalDateTime toGFSRunTime(LocalDateTime date) { if (date == null) { return null; } LocalDateTime dateTime = date.truncatedTo(ChronoUnit.HOURS); // Only allow hours 0, 6, 12 & 18 int h = dateTime.get(ChronoField.HOUR_OF_DAY); if (h % 6 == 0) { return dateTime; } return dateTime.withHour((h / 6) * 6); }