Example usage for org.joda.time YearMonthDay minusMonths

List of usage examples for org.joda.time YearMonthDay minusMonths

Introduction

In this page you can find the example usage for org.joda.time YearMonthDay minusMonths.

Prototype

public YearMonthDay minusMonths(int months) 

Source Link

Document

Returns a copy of this date minus the specified number of months.

Usage

From source file:net.sourceforge.fenixedu.presentationTier.TagLib.GanttDiagramTagLib.java

License:Open Source License

private void insertNextAndBeforeLinks(StringBuilder builder) throws JspException {

    YearMonthDay firstDay = getGanttDiagramObject().getFirstInstant().toYearMonthDay();
    if (firstDay != null) {

        String nextUrl = "";
        String beforeUrl = "";

        switch (getViewTypeEnum()) {

        case WEEKLY:

            if (!StringUtils.isEmpty(getWeeklyViewUrl())) {
                nextUrl = getRequest().getContextPath() + getWeeklyViewUrl() + "&" + getFirstDayParameter()
                        + "=" + firstDay.plusDays(Lesson.NUMBER_OF_DAYS_IN_WEEK).toString("ddMMyyyy");
                beforeUrl = getRequest().getContextPath() + getWeeklyViewUrl() + "&"
                        + getFirstDayParameter() + "="
                        + firstDay.minusDays(Lesson.NUMBER_OF_DAYS_IN_WEEK).toString("ddMMyyyy");
                builder.append(//from w w w.j a va  2  s.c  o  m
                        "<tr><td class=\"tcalendarlinks\"></td><td colspan=\"7\" class=\"acenter tcalendarlinks\"> <span class=\"smalltxt\"><a href=\"")
                        .append(beforeUrl).append("\">").append("&lt;&lt; ")
                        .append(getMessage("label.previous.week")).append("</a>");
                builder.append(" , ").append("<a href=\"").append(nextUrl).append("\">")
                        .append(getMessage("label.next.week")).append(" &gt;&gt;").append("</a>")
                        .append("</span></td><td class=\"tcalendarlinks\"></td><td class=\"tcalendarlinks\"></td></tr>");
            }
            break;

        case DAILY:

            if (!StringUtils.isEmpty(getDailyViewUrl())) {
                nextUrl = getRequest().getContextPath() + getDailyViewUrl() + "&amp;" + getFirstDayParameter()
                        + "=" + firstDay.plusDays(1).toString("ddMMyyyy");
                beforeUrl = getRequest().getContextPath() + getDailyViewUrl() + "&amp;" + getFirstDayParameter()
                        + "=" + firstDay.minusDays(1).toString("ddMMyyyy");
                builder.append(
                        "<tr><td class=\"tcalendarlinks\"></td><td class=\"acenter tcalendarlinks\"><span class=\"smalltxt\"><a href=\"")
                        .append(beforeUrl).append("\">").append("&lt;&lt; ")
                        .append(getMessage("label.previous.day")).append("</a>");
                builder.append(" , ").append("<a href=\"").append(nextUrl).append("\">")
                        .append(getMessage("label.next.day")).append(" &gt;&gt;").append("</a>")
                        .append("</span></td><td class=\"tcalendarlinks\"></td><td class=\"tcalendarlinks\"></td></tr>");
            }
            break;

        case MONTHLY:

            if (!StringUtils.isEmpty(getMonthlyViewUrl())) {
                DateTime month = firstDay.toDateTimeAtMidnight();
                DateTime firstDayOfMonth = (month.getDayOfMonth() != 1) ? month.withDayOfMonth(1) : month;
                DateTime lastDayOfMonth = firstDayOfMonth.plusMonths(1).minusDays(1);
                int monthNumberOfDays = Days.daysBetween(firstDayOfMonth, lastDayOfMonth).getDays() + 1;
                nextUrl = getRequest().getContextPath() + getMonthlyViewUrl() + "&amp;" + getFirstDayParameter()
                        + "=" + firstDay.plusMonths(1).toString("ddMMyyyy");
                beforeUrl = getRequest().getContextPath() + getMonthlyViewUrl() + "&amp;"
                        + getFirstDayParameter() + "=" + firstDay.minusMonths(1).toString("ddMMyyyy");
                builder.append("<tr><td class=\"tcalendarlinks\"></td><td colspan=\"").append(monthNumberOfDays)
                        .append("\" class=\"acenter tcalendarlinks\"><span class=\"smalltxt\"><a href=\"")
                        .append(beforeUrl).append("\">").append("&lt;&lt; ")
                        .append(getMessage("label.previous.month")).append("</a>");
                builder.append(" , ").append("<a href=\"").append(nextUrl).append("\">")
                        .append(getMessage("label.next.month")).append(" &gt;&gt;").append("</a>")
                        .append("</span></td><td class=\"tcalendarlinks\"></td><td class=\"tcalendarlinks\"></td></tr>");
            }
            break;

        case YEAR_DAILY:

            if (!StringUtils.isEmpty(getMonthlyViewUrl())) {
                DateTime month = firstDay.toDateTimeAtMidnight();
                DateTime firstDayOfMonth = (month.getDayOfMonth() != 1) ? month.withDayOfMonth(1) : month;
                DateTime lastDayOfMonth = firstDayOfMonth.plusMonths(1).minusDays(1);
                int monthNumberOfDays = Days.daysBetween(firstDayOfMonth, lastDayOfMonth).getDays() + 1;
                nextUrl = getRequest().getContextPath() + getMonthlyViewUrl() + "&amp;" + getFirstDayParameter()
                        + "=" + firstDay.plusMonths(1).toString("ddMMyyyy");
                beforeUrl = getRequest().getContextPath() + getMonthlyViewUrl() + "&amp;"
                        + getFirstDayParameter() + "=" + firstDay.minusMonths(1).toString("ddMMyyyy");
                builder.append("<tr><td class=\"tcalendarlinks\"></td><td colspan=\"").append(monthNumberOfDays)
                        .append("\" class=\"acenter tcalendarlinks\"><span class=\"smalltxt\"><a href=\"")
                        .append(beforeUrl).append("\">").append("&lt;&lt; ")
                        .append(getMessage("label.previous.month")).append("</a>");
                builder.append(" , ").append("<a href=\"").append(nextUrl).append("\">")
                        .append(getMessage("label.next.month")).append(" &gt;&gt;").append("</a>")
                        .append("</span></td><td class=\"tcalendarlinks\"></td><td class=\"tcalendarlinks\"></td></tr>");
            }
            break;

        default:
            break;
        }
    }
}