Example usage for org.joda.time LocalDate getDayOfWeek

List of usage examples for org.joda.time LocalDate getDayOfWeek

Introduction

In this page you can find the example usage for org.joda.time LocalDate getDayOfWeek.

Prototype

public int getDayOfWeek() 

Source Link

Document

Get the day of week field value.

Usage

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";
}