List of usage examples for org.joda.time LocalDate getDayOfWeek
public int getDayOfWeek()
From source file:org.zkoss.ganttz.timetracker.zoom.DetailSixTimeTrackerState.java
License:Open Source License
@Override protected LocalDate round(LocalDate date, boolean down) { int dayOfWeek = date.getDayOfWeek(); if (dayOfWeek == 1) { return date; }//from w w w.j ava2 s . com return down ? date.withDayOfWeek(1) : date.withDayOfWeek(1).plusWeeks(1); }
From source file:supply.CapacityHarvester.java
License:Apache License
public static int getCalculatedRemainingHours(String username) { // Find start and end date for current sprint // --> Lookup sprint setup // Business days To Sprint End DateTime sprintStartDate = new DateTime(2014, 02, 1, 0, 0, 0, 0); DateTime sprintEndDate = new DateTime(2014, 02, 28, 17, 0); logger.info("sprintEndDate WeekOfWeekyear=" + sprintEndDate.getWeekOfWeekyear()); logger.info("sprintEndDate WeekOfWeekyear=" + sprintEndDate.getWeekOfWeekyear()); LocalDate today = new LocalDate(); // business days left in current week logger.info("Current week=" + today.getWeekOfWeekyear()); if (today.getDayOfWeek() > 5) { logger.info("Not a business day. 0 hours left of availability as this is weekend."); }/* w ww . ja v a2 s . co m*/ SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy"); Period weekPeriod = new Period().withWeeks(1); Interval i = new Interval(sprintStartDate, weekPeriod); int hours = 0; while (i.getEnd().isBefore(sprintEndDate)) { logger.info("week: " + i.getStart().getWeekOfWeekyear() + " start: " + df.format(i.getStart().toDate()) + " end: " + df.format(i.getEnd().minusMillis(1).toDate())); i = new Interval(i.getStart().plus(weekPeriod), weekPeriod); int availabilityHours = Availability.getAvailability(i.getStart().toCalendar(Locale.US), username); logger.info("Reported availability hours for [" + username + "]: " + availabilityHours); hours += availabilityHours; } Days days = Days.daysBetween(today.toDateTimeAtStartOfDay(), sprintEndDate); int hoursRemaining = Hours.hoursBetween(today.toDateTimeAtCurrentTime(), sprintEndDate).getHours(); if (hoursRemaining < 0) hoursRemaining = 0; logger.info("HoursToSprintEnd=" + hoursRemaining); logger.info("DayOfWeek=" + today.getDayOfWeek()); logger.info("WeekOfWeekyear=" + today.getWeekOfWeekyear()); logger.info("Hours from DB=" + hours); // --> Find week numbers // --> Check that current date is between start/end date of sprint // Lookup how many hours this user has for the sprint // --> lookup in HBase // --> return hoursRemaining; }
From source file:ua.mycompany.agedaysmonths.AgeDaysMonths.java
public static void main(String[] args) { LocalDate birthdate = new LocalDate(2015, 11, 12); LocalDate now = new LocalDate(); System.out.printf("My age in month: %d\n", Months.monthsBetween(birthdate, now).getMonths()); System.out.printf("My age in days: %d\n", Days.daysBetween(birthdate, now).getDays()); System.out.printf("Day of week my birtday: %s, %s\n", birthdate.getDayOfWeek(), birthdate.toString(DateTimeFormat.forPattern("E").withLocale(Locale.forLanguageTag("en")))); }
From source file:vn.webapp.controller.cp.RoomsController.java
@RequestMapping(value = "executeQueryRoom", method = RequestMethod.POST) public String queryRoom(HttpServletRequest request, @Valid @ModelAttribute("queryRoom") QueryRoomValidation queryRoomValidation, BindingResult result, Map model, HttpSession session) { if (result.hasErrors()) { List<AcademicYear> academicYearList = academicYearService.list(); AcademicYear curAcadYear = academicYearService.getCurAcadYear(); List<AcademicYear> otherAcadYearList = new ArrayList<AcademicYear>(); for (AcademicYear aY : academicYearList) { if (!aY.getACAYEAR_Code().equals(curAcadYear.getACAYEAR_Code())) otherAcadYearList.add(aY); }/*from ww w . j a va2 s .c o m*/ model.put("academicYearList", otherAcadYearList); model.put("curAcadYear", curAcadYear); return "cp.queryRoom"; } else { String academicYear = queryRoomValidation.getAcademicYear(); int maxCap = queryRoomValidation.getCapacityMax(); if (maxCap == 0) { maxCap = 300; queryRoomValidation.setCapacityMax(300); } int minCap = queryRoomValidation.getCapacityMin(); String dateString = queryRoomValidation.getDayMonthYearInput_day(); String dayString = queryRoomValidation.getDayWeekInput_day(); String weekString = queryRoomValidation.getDayWeekInput_week(); String building = queryRoomValidation.getRoomBuilding(); String slotStart = queryRoomValidation.getSlotStart(); String slotEnd = queryRoomValidation.getSlotEnd(); /* Convert date to day and week */ if (!dateString.equals("")) { //System.out.println(dateString); List<AcademicYear> academicYearList = academicYearService.list(); String firstdateStr = ""; String enddateStr = ""; for (AcademicYear aY : academicYearList) { if (aY.getACAYEAR_Code().equals(academicYear)) { firstdateStr = aY.getACAYEAR_FromDate(); enddateStr = aY.getACAYEAR_ToDate(); break; } } DateTimeFormatter fmt = DateTimeFormat.forPattern("dd-MM-yyyy"); LocalDate firstdate = fmt.parseLocalDate(firstdateStr); LocalDate enddate = fmt.parseLocalDate(enddateStr); LocalDate querydate = fmt.parseLocalDate(dateString); int dayNum = Days.daysBetween(firstdate, querydate).getDays(); if ((dayNum <= 0) || (Days.daysBetween(querydate, enddate).getDays() < 0)) { model.put("status", "Ngy bn nhp khng c trong nm h?c. Hy ch?n ngy hp l!"); return "cp.searchroom"; } dayString = Integer.toString(querydate.getDayOfWeek() + 1); if (dayString.equals("1")) dayString = "Ch nht"; weekString = Integer.toString(dayNum / 7 + 1); queryRoomValidation.setDayWeekInput_day(dayString); queryRoomValidation.setDayWeekInput_week(weekString); } else if (dayString.equals("") && weekString.equals("")) { model.put("status", "Khng th truy vn phng v thiu thng tin ngy thng"); return "cp.searchroom"; } try { /* Convert input week string into list of weeks */ StringConvert strConv = new StringConvert(); List<String> weeks = strConv.ExpandToListString(weekString); /* Convert input day string into list of days */ List<String> days = strConv.ExpandToListString(dayString); /* Convert input slot string into list of slots */ List<String> slots = strConv.ExpandToListString(slotStart + "-" + slotEnd); List<Rooms> roomsList = roomsService.listRooms(); List<RegularCourseTimetableInterface> RCTTI_List = regularCourseTimetableInterfaceService .loadRCTTIList(academicYear); List<Exam> examList = examService.loadExamList(academicYear); List<RoomLoan> roomLoanList = roomLoanService.listRoomLoans(); List<Rooms> freeRoomList = new ArrayList<Rooms>(); boolean isRoomAvail = true; for (Rooms room : roomsList) { isRoomAvail = true; for (RegularCourseTimetableInterface classinfo : RCTTI_List) { String stt = classinfo.getClassStatus(); if (stt != null && (stt.toLowerCase().contains("hy") || stt.toLowerCase().contains("hu"))) continue; if (!(room.getR_Code().equals(classinfo.getRoom()))) continue; else { List<String> classWeeks = strConv.ExpandToListString(classinfo.getWeek()); boolean isContainWeek = false; for (String weekstr : weeks) { if (classWeeks.contains(weekstr)) { isContainWeek = true; break; } } if (!isContainWeek) continue; if (!days.contains(Integer.toString(classinfo.getDay()))) continue; String[] tokenSlots = strConv.Expand(classinfo.getSlot()).split("[,]"); int firstSlot = Integer.parseInt(tokenSlots[0]); int lastSlot = Integer.parseInt(tokenSlots[tokenSlots.length - 1]); boolean isSlotBusy = false; for (String slot : slots) { if ((firstSlot - Integer.parseInt(slot)) * (lastSlot - Integer.parseInt(slot)) <= 0) { isSlotBusy = true; break; } } if (isSlotBusy) { isRoomAvail = false; break; } } } if (isRoomAvail) { for (Exam ex : examList) { if (!(room.getR_Code().equals(ex.getRCE_Room_Code()))) continue; else { boolean isContainWeek = false; if (weeks.contains(Integer.toString(ex.getRCE_Week()))) { isContainWeek = true; } if (!isContainWeek) continue; if (!days.contains(Integer.toString(ex.getRCE_Day()))) continue; String[] tokenSlots = ex.getRCE_Slots().split("[,]"); int firstSlot = Integer.parseInt(tokenSlots[0]); int lastSlot = Integer.parseInt(tokenSlots[tokenSlots.length - 1]); boolean isSlotBusy = false; for (String slot : slots) { if ((firstSlot - Integer.parseInt(slot)) * (lastSlot - Integer.parseInt(slot)) <= 0) { isSlotBusy = true; break; } } if (isSlotBusy) { isRoomAvail = false; break; } } } } if (isRoomAvail) { for (RoomLoan rl : roomLoanList) { if (!(room.getR_Code().equals(rl.getRL_R_Code()))) continue; else { List<String> rlWeeks = strConv.ExpandToListString(rl.getRL_Week()); boolean isContainWeek = false; for (String weekstr : weeks) { if (rlWeeks.contains(weekstr)) { isContainWeek = true; break; } } if (!isContainWeek) continue; boolean isContainDay = false; List<String> rlDays = strConv.ExpandToListString(rl.getRL_Day()); for (String daystr : days) { if (rlDays.contains(daystr)) { isContainDay = true; break; } } if (!isContainDay) continue; String[] tokenSlots = strConv.Expand(rl.getRL_Slots()).split("[,]"); int firstSlot = Integer.parseInt(tokenSlots[0]); int lastSlot = Integer.parseInt(tokenSlots[tokenSlots.length - 1]); boolean isSlotBusy = false; for (String slot : slots) { if ((firstSlot - Integer.parseInt(slot)) * (lastSlot - Integer.parseInt(slot)) <= 0) { isSlotBusy = true; break; } } if (isSlotBusy) { isRoomAvail = false; break; } } } } if (isRoomAvail) { boolean isShowed = true; if ((room.getR_Capacity() < minCap) || (room.getR_Capacity() > maxCap)) isShowed = false; if ((!building.equals("Tt c")) && (!building.equals(room.getR_Building()))) isShowed = false; if (isShowed) freeRoomList.add(room); } } System.out.println("C " + freeRoomList.size() + " phng trng!"); model.put("roomsList", freeRoomList); model.put("query", queryRoomValidation); return "cp.searchroom"; } catch (Exception e) { model.put("status", "C li xy ra trong lc truy vn:\n" + e.getMessage()); return "cp.searchroom"; } } }
From source file:vn.webapp.controller.cp.RoomsController.java
@RequestMapping(value = "add-a-room-loan", method = RequestMethod.POST) public String addARoomLoan(HttpServletRequest request, @Valid @ModelAttribute("roomLoanFormAdd") RoomLoanValidation roomLoanValidation, BindingResult result, Map model, HttpSession session) { if (result.hasErrors()) { List<AcademicYear> academicYearList = academicYearService.list(); AcademicYear curAcadYear = academicYearService.getCurAcadYear(); List<AcademicYear> otherAcadYearList = new ArrayList<AcademicYear>(); for (AcademicYear aY : academicYearList) { if (!aY.getACAYEAR_Code().equals(curAcadYear.getACAYEAR_Code())) otherAcadYearList.add(aY); }//from w w w. j a v a 2 s. com model.put("academicYearList", otherAcadYearList); model.put("curAcadYear", curAcadYear); return "cp.addRoomLoan"; } else { String academicYear = roomLoanValidation.getAcademicYear(); String dateString = roomLoanValidation.getDayMonthYearInput_day(); String dayString = roomLoanValidation.getDayWeekInput_day(); String weekString = roomLoanValidation.getDayWeekInput_week(); String room = roomLoanValidation.getRoomCode(); String slotStart = roomLoanValidation.getSlotStart(); String slotEnd = roomLoanValidation.getSlotEnd(); /* Convert date to day and week */ List<AcademicYear> academicYearList = academicYearService.list(); String firstdateStr = ""; String enddateStr = ""; for (AcademicYear aY : academicYearList) { if (aY.getACAYEAR_Code().equals(academicYear)) { firstdateStr = aY.getACAYEAR_FromDate(); enddateStr = aY.getACAYEAR_ToDate(); break; } } DateTimeFormatter fmt = DateTimeFormat.forPattern("dd-MM-yyyy"); LocalDate firstdate = fmt.parseLocalDate(firstdateStr); LocalDate enddate = fmt.parseLocalDate(enddateStr); if (!dateString.equals("")) { LocalDate querydate = fmt.parseLocalDate(dateString); int dayNum = Days.daysBetween(firstdate, querydate).getDays(); if ((dayNum <= 0) || (Days.daysBetween(querydate, enddate).getDays() < 0)) { session.setAttribute("errorAddRoomLoanFwd", "Ngy bn nhp khng c trong nm h?c. Hy ch?n ngy hp l!"); return "cp.addRoomLoan"; } dayString = Integer.toString(querydate.getDayOfWeek() + 1); if (dayString.equals("8")) dayString = "Ch nht"; weekString = Integer.toString(dayNum / 7 + 1); roomLoanValidation.setDayWeekInput_day(dayString); roomLoanValidation.setDayWeekInput_week(weekString); } else if (!(dayString.equals("") || weekString.equals(""))) { try { if (dayString.equals("Ch nht")) dayString = "8"; LocalDate querydate = firstdate .plusDays(7 * (Integer.parseInt(weekString) - 1) + Integer.parseInt(dayString) - 2); roomLoanValidation.setDayMonthYearInput_day(querydate.toString()); } catch (Exception e) { roomLoanValidation.setDayMonthYearInput_day("Nhi?u ngy"); } } else { session.setAttribute("errorAddRoomLoanFwd", "Khng th thm thng tin mn phng " + roomLoanValidation.getRoomCode() + " v thiu thng tin ngy thng mn phng"); return "redirect:" + this.baseUrl + "/cp/AddRoomLoan.html"; } if (roomsService.loadByCode(room) == null) { session.setAttribute("errorAddRoomLoanFwd", "M phng " + room + " khng c trong c s d liu phng. Hy kim tra li!"); return "redirect:" + this.baseUrl + "/cp/AddRoomLoan.html"; } try { String RL_Code = roomLoanValidation.getRoomCode() + "-" + roomLoanValidation.getAcademicYear() + "-" + roomLoanValidation.getDayWeekInput_week() + "-" + roomLoanValidation.getDayWeekInput_day(); RoomLoan roomLoan = roomLoanService.loadByCode(RL_Code); if (roomLoan == null) roomLoanService.save(roomLoanValidation.getRoomCode(), roomLoanValidation.getDayWeekInput_day(), roomLoanValidation.getDayWeekInput_week(), roomLoanValidation.getAcademicYear(), roomLoanValidation.getDayMonthYearInput_day(), roomLoanValidation.getSlotStart() + "-" + roomLoanValidation.getSlotEnd(), roomLoanValidation.getNote()); return "redirect:" + this.baseUrl + "/cp/RoomLoans.html"; } catch (Exception e) { model.put("status", "You failed to edit room loan for" + roomLoanValidation.getRoomCode()); } } return "cp.addRoomLoan"; }
From source file:vn.webapp.controller.cp.RoomsController.java
@RequestMapping(value = "edit-a-room-loan", method = RequestMethod.POST) public String editARoomLoan(HttpServletRequest request, @Valid @ModelAttribute("roomLoanFormEdit") RoomLoanValidation roomLoanValidation, BindingResult result, Map model, HttpSession session) { if (result.hasErrors()) { List<AcademicYear> academicYearList = academicYearService.list(); AcademicYear curAcadYear = academicYearService.getCurAcadYear(); List<AcademicYear> otherAcadYearList = new ArrayList<AcademicYear>(); for (AcademicYear aY : academicYearList) { if (!aY.getACAYEAR_Code().equals(curAcadYear.getACAYEAR_Code())) otherAcadYearList.add(aY); }/*from w w w.j a v a2 s . co m*/ RoomLoan roomLoan = roomLoanService.loadByID(roomLoanValidation.getRoomLoanID()); model.put("roomLoan", roomLoan); model.put("academicYearList", otherAcadYearList); model.put("curAcadYear", curAcadYear); return "cp.editRoomLoan"; } else { String academicYear = roomLoanValidation.getAcademicYear(); String dateString = roomLoanValidation.getDayMonthYearInput_day(); String dayString = roomLoanValidation.getDayWeekInput_day(); String weekString = roomLoanValidation.getDayWeekInput_week(); String room = roomLoanValidation.getRoomCode(); String slotStart = roomLoanValidation.getSlotStart(); String slotEnd = roomLoanValidation.getSlotEnd(); /* Convert date to day and week */ List<AcademicYear> academicYearList = academicYearService.list(); String firstdateStr = ""; String enddateStr = ""; for (AcademicYear aY : academicYearList) { if (aY.getACAYEAR_Code().equals(academicYear)) { firstdateStr = aY.getACAYEAR_FromDate(); enddateStr = aY.getACAYEAR_ToDate(); break; } } DateTimeFormatter fmt = DateTimeFormat.forPattern("dd-MM-yyyy"); LocalDate firstdate = fmt.parseLocalDate(firstdateStr); LocalDate enddate = fmt.parseLocalDate(enddateStr); if (!dateString.equals("")) { LocalDate querydate = fmt.parseLocalDate(dateString); int dayNum = Days.daysBetween(firstdate, querydate).getDays(); int dayNum1 = Days.daysBetween(querydate, enddate).getDays(); if ((dayNum <= 0) || (Days.daysBetween(querydate, enddate).getDays() < 0)) { session.setAttribute("errorEditARoomLoanFwd", "Ngy bn nhp khng c trong nm h?c. Hy ch?n ngy hp l!"); return "redirect:" + this.baseUrl + "/cp/EditRoomLoan/" + roomLoanValidation.getRoomLoanID() + ".html"; } dayString = Integer.toString(querydate.getDayOfWeek() + 1); if (dayString.equals("8")) dayString = "Ch nht"; weekString = Integer.toString(dayNum / 7 + 1); roomLoanValidation.setDayWeekInput_day(dayString); roomLoanValidation.setDayWeekInput_week(weekString); } else if (!(dayString.equals("") || weekString.equals(""))) { try { if (dayString.equals("Ch nht")) dayString = "8"; LocalDate querydate = firstdate .plusDays(7 * (Integer.parseInt(weekString) - 1) + Integer.parseInt(dayString) - 2); roomLoanValidation.setDayMonthYearInput_day(querydate.toString()); } catch (Exception e) { roomLoanValidation.setDayMonthYearInput_day("Nhi?u ngy"); } } else { //model.put("status", "Khng th sa thng tin mn phng " + roomLoanValidation.getRoomCode()+" v thiu thng tin ngy thng mn phng"); session.setAttribute("errorEditARoomLoanFwd", "Khng th sa thng tin mn phng " + roomLoanValidation.getRoomCode() + " v thiu thng tin ngy thng mn phng. Hy sa li thng tin!"); return "redirect:" + this.baseUrl + "/cp/EditRoomLoan/" + roomLoanValidation.getRoomLoanID() + ".html"; } if (roomsService.loadByCode(room) == null) { session.setAttribute("errorEditARoomLoanFwd", "M phng " + room + " khng c trong c s d liu phng. Hy kim tra li!"); return "redirect:" + this.baseUrl + "/cp/EditRoomLoan/" + roomLoanValidation.getRoomLoanID() + ".html"; } try { String RL_Code = roomLoanValidation.getRoomCode() + "-" + roomLoanValidation.getAcademicYear() + "-" + roomLoanValidation.getDayWeekInput_week() + "-" + roomLoanValidation.getDayWeekInput_day(); RoomLoan roomLoan = roomLoanService.loadByID(roomLoanValidation.getRoomLoanID()); if (roomLoan != null) if (roomLoanValidation.getNote().isEmpty()) roomLoanValidation.setNote(roomLoan.getRL_Note()); roomLoanService.edit(roomLoanValidation.getRoomLoanID(), roomLoanValidation.getRoomCode(), roomLoanValidation.getDayWeekInput_day(), roomLoanValidation.getDayWeekInput_week(), roomLoanValidation.getAcademicYear(), roomLoanValidation.getDayMonthYearInput_day(), roomLoanValidation.getSlotStart() + "-" + roomLoanValidation.getSlotEnd(), roomLoanValidation.getNote()); return "redirect:" + this.baseUrl + "/cp/RoomLoans.html"; } catch (Exception e) { model.put("status", "You failed to edit room loan for" + roomLoanValidation.getRoomCode()); } } return "cp.editRoomLoan"; }