Example usage for org.apache.commons.lang.time DateUtils addMonths

List of usage examples for org.apache.commons.lang.time DateUtils addMonths

Introduction

In this page you can find the example usage for org.apache.commons.lang.time DateUtils addMonths.

Prototype

public static Date addMonths(Date date, int amount) 

Source Link

Document

Adds a number of months to a date returning a new object.

Usage

From source file:com.hs.mail.imap.schedule.ScheduleUtils.java

public static Date getDateBefore(String str) {
    if (str != null) {
        int sz = str.length();
        for (int i = 0; i < sz; i++) {
            char ch = str.charAt(i);
            if (!Character.isDigit(ch)) {
                try {
                    int amount = Integer.parseInt(str.substring(0, i));
                    switch (Character.toUpperCase(ch)) {
                    case 'D':
                        return DateUtils.addDays(new Date(), -amount);
                    case 'M':
                        return DateUtils.addMonths(new Date(), -amount);
                    case 'Y':
                        return DateUtils.addYears(new Date(), -amount);
                    }/*  w w w . j  av  a 2 s. co  m*/
                } catch (NumberFormatException e) {
                    break;
                }
            }
        }
    }
    return null;
}

From source file:com.clican.pluto.dataprocess.dpl.function.impl.DayOfMonth.java

public Object calculate(Map<String, Object> row) throws CalculationException, PrefixAndSuffixException {
    Date d = date.getValue(row);/*www  .  jav  a 2  s . c o  m*/
    d = DateUtils.truncate(d, Calendar.MONTH);
    d = DateUtils.addMonths(d, 1);
    d = DateUtils.addDays(d, -1);
    SimpleDateFormat sdf = new SimpleDateFormat("dd");
    return Integer.parseInt(sdf.format(d));
}

From source file:net.shopxx.controller.admin.OrderStatisticController.java

@RequestMapping(value = "/list", method = RequestMethod.GET)
public String list(Statistic.Period period, Date beginDate, Date endDate, Model model) {
    if (period == null) {
        period = Statistic.Period.day;
    }//from   w ww . j  a  va2s . c  o  m
    if (beginDate == null) {
        switch (period) {
        case year:
            beginDate = DateUtils.addYears(new Date(), -10);
            break;
        case month:
            beginDate = DateUtils.addYears(new Date(), -1);
            break;
        case day:
            beginDate = DateUtils.addMonths(new Date(), -1);
            break;
        }
    }
    if (endDate == null) {
        endDate = new Date();
    }
    model.addAttribute("periods", Statistic.Period.values());
    model.addAttribute("period", period);
    model.addAttribute("beginDate", beginDate);
    model.addAttribute("endDate", endDate);
    model.addAttribute("statistics", statisticService.analyze(period, beginDate, endDate));
    return "/admin/order_statistic/list";
}

From source file:net.shopxx.controller.admin.MemberStatisticController.java

@RequestMapping(value = "/list", method = RequestMethod.GET)
public String list(Statistic.Period period, Date beginDate, Date endDate, Model model) {
    if (period == null) {
        period = Statistic.Period.day;
    }// w  ww  .  ja  va2s .co  m
    if (beginDate == null) {
        switch (period) {
        case year:
            beginDate = DateUtils.addYears(new Date(), -10);
            break;
        case month:
            beginDate = DateUtils.addYears(new Date(), -1);
            break;
        case day:
            beginDate = DateUtils.addMonths(new Date(), -1);
            break;
        }
    }
    if (endDate == null) {
        endDate = new Date();
    }
    model.addAttribute("periods", Statistic.Period.values());
    model.addAttribute("period", period);
    model.addAttribute("beginDate", beginDate);
    model.addAttribute("endDate", endDate);
    model.addAttribute("statistics", statisticService.analyze(period, beginDate, endDate));
    return "/admin/member_statistic/list";
}

From source file:com.dp2345.controller.admin.SalesController.java

/**
 * /*from   w  w w . j av a2 s  . c  om*/
 */
@RequestMapping(value = "/view", method = RequestMethod.GET)
public String view(Type type, Date beginDate, Date endDate, Model model) {
    if (type == null) {
        type = Type.month;
    }
    if (beginDate == null) {
        beginDate = DateUtils.addMonths(new Date(), -11);
    }
    if (endDate == null) {
        endDate = new Date();
    }
    Map<Date, BigDecimal> salesAmountMap = new LinkedHashMap<Date, BigDecimal>();
    Map<Date, Integer> salesVolumeMap = new LinkedHashMap<Date, Integer>();
    Calendar beginCalendar = DateUtils.toCalendar(beginDate);
    Calendar endCalendar = DateUtils.toCalendar(endDate);
    int beginYear = beginCalendar.get(Calendar.YEAR);
    int endYear = endCalendar.get(Calendar.YEAR);
    int beginMonth = beginCalendar.get(Calendar.MONTH);
    int endMonth = endCalendar.get(Calendar.MONTH);
    for (int year = beginYear; year <= endYear; year++) {
        if (salesAmountMap.size() >= MAX_SIZE) {
            break;
        }
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.YEAR, year);
        if (type == Type.year) {
            calendar.set(Calendar.MONTH, calendar.getActualMinimum(Calendar.MONTH));
            calendar.set(Calendar.DATE, calendar.getActualMinimum(Calendar.DATE));
            calendar.set(Calendar.HOUR_OF_DAY, calendar.getActualMinimum(Calendar.HOUR_OF_DAY));
            calendar.set(Calendar.MINUTE, calendar.getActualMinimum(Calendar.MINUTE));
            calendar.set(Calendar.SECOND, calendar.getActualMinimum(Calendar.SECOND));
            Date begin = calendar.getTime();
            calendar.set(Calendar.MONTH, calendar.getActualMaximum(Calendar.MONTH));
            calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
            calendar.set(Calendar.HOUR_OF_DAY, calendar.getActualMaximum(Calendar.HOUR_OF_DAY));
            calendar.set(Calendar.MINUTE, calendar.getActualMaximum(Calendar.MINUTE));
            calendar.set(Calendar.SECOND, calendar.getActualMaximum(Calendar.SECOND));
            Date end = calendar.getTime();
            BigDecimal salesAmount = orderService.getSalesAmount(begin, end);
            Integer salesVolume = orderService.getSalesVolume(begin, end);
            salesAmountMap.put(begin, salesAmount != null ? salesAmount : BigDecimal.ZERO);
            salesVolumeMap.put(begin, salesVolume != null ? salesVolume : 0);
        } else {
            for (int month = year == beginYear ? beginMonth
                    : calendar.getActualMinimum(Calendar.MONTH); month <= (year == endYear ? endMonth
                            : calendar.getActualMaximum(Calendar.MONTH)); month++) {
                if (salesAmountMap.size() >= MAX_SIZE) {
                    break;
                }
                calendar.set(Calendar.MONTH, month);
                calendar.set(Calendar.DATE, calendar.getActualMinimum(Calendar.DATE));
                calendar.set(Calendar.HOUR_OF_DAY, calendar.getActualMinimum(Calendar.HOUR_OF_DAY));
                calendar.set(Calendar.MINUTE, calendar.getActualMinimum(Calendar.MINUTE));
                calendar.set(Calendar.SECOND, calendar.getActualMinimum(Calendar.SECOND));
                Date begin = calendar.getTime();
                calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
                calendar.set(Calendar.HOUR_OF_DAY, calendar.getActualMaximum(Calendar.HOUR_OF_DAY));
                calendar.set(Calendar.MINUTE, calendar.getActualMaximum(Calendar.MINUTE));
                calendar.set(Calendar.SECOND, calendar.getActualMaximum(Calendar.SECOND));
                Date end = calendar.getTime();
                BigDecimal salesAmount = orderService.getSalesAmount(begin, end);
                Integer salesVolume = orderService.getSalesVolume(begin, end);
                salesAmountMap.put(begin, salesAmount != null ? salesAmount : BigDecimal.ZERO);
                salesVolumeMap.put(begin, salesVolume != null ? salesVolume : 0);
            }
        }
    }
    model.addAttribute("types", Type.values());
    model.addAttribute("type", type);
    model.addAttribute("beginDate", beginDate);
    model.addAttribute("endDate", endDate);
    model.addAttribute("salesAmountMap", salesAmountMap);
    model.addAttribute("salesVolumeMap", salesVolumeMap);
    return "/admin/sales/view";
}

From source file:cn.vlabs.umt.ui.servlet.UMTPublicKeyServiceServlet.java

public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    UMTCredential cred = (UMTCredential) factory.getBean("UMTCredUtil");
    PublicKeyEnvelope opublickey = new PublicKeyEnvelope();
    opublickey.setAppId(cred.getUMTId());
    Date month = DateUtils.addMonths(new Date(cred.getCreateTime()), 1);
    opublickey.setValidTime(DateFormatUtils.format(month, "yyyy-MM-dd hh:mm:ss"));
    opublickey.setPublicKey(HexUtil.toHexString(cred.getUMTKey().getRSAPublic().getEncoded()));
    response.setContentType("text/xml");
    response.setCharacterEncoding("UTF-8");
    PrintWriter out = response.getWriter();
    out.write(opublickey.toXML());/* w ww.j a v a2 s  . c  o m*/
    out.flush();
    out.close();

}

From source file:gov.utah.dts.det.ccl.model.view.NewApplicationPendingDeadlineView.java

public boolean isCloseFacility() {
    Date today = new Date();
    if (today.compareTo(DateUtils.addMonths(licenseStartDate, 6)) >= 0) {
        return true;
    }/*from ww w  .  j a v  a2  s.  c o  m*/
    return false;
}

From source file:de.codecentric.jira.jenkins.plugin.util.TimeDifferenceHelper.java

/**
 * @param startMillis// w  ww. j av a  2s . com
 * @param endMillis
 * @return a textual (not yet fully) localized representation of the time
 *         difference
 */
public String getTimeDifferenceInWords(long startMillis, long endMillis) {
    long timeDiff = endMillis - startMillis;
    Date timestamp = new Date(startMillis);
    if (timeDiff < MINUTE) {
        // show seconds
        return formatPeriod1(timeDiff, SECOND, "Second");
    } else if (timeDiff < HOUR) {
        // show minutes and seconds
        return formatPeriod2(timeDiff, MINUTE, "Minute", SECOND, "Second");
    } else if (timeDiff < DAY) {
        // show hours and minutes
        return formatPeriod2(timeDiff, HOUR, "Hour", MINUTE, "Minute");
    } else if (timeDiff < WEEK) {
        // show days and hours
        return formatPeriod2(timeDiff, DAY, "Day", HOUR, "Hour");
    } else
    /* dateAndTime + 1 month >= currentTime */
    if (DateUtils.addMonths(timestamp, 1).after(new Date(endMillis))) {
        return formatPeriod2(timeDiff, WEEK, "Week", DAY, "Day");
    } else
    /* dateAndTime + 1 year >= currentTime */
    if (DateUtils.addYears(timestamp, 1).after(new Date(endMillis))) {
        if (DateUtils.addMonths(timestamp, 2).after(new Date(endMillis))) {
            // not more than two months, use singular
            startMillis = DateUtils.addMonths(timestamp, 1).getTime();
            timeDiff = endMillis - startMillis;
            String days = formatPeriod1(timeDiff, DAY, "Day");
            return "1 " + getPlural(1, "Month") + (!StringUtils.isEmpty(days) ? " " + days : "");
        }
        // show months and day(s)
        String monthsString = formatMonths(startMillis, endMillis);
        startMillis = DateUtils.addMonths(timestamp, countMonths(startMillis, endMillis)).getTime();
        timeDiff = endMillis - startMillis;
        String days = formatPeriod1(timeDiff, DAY, "Day");
        return monthsString + (!StringUtils.isEmpty(days) ? " " + days : "");
    } else {
        // show year and months
        if (DateUtils.addYears(timestamp, 2).after(new Date(endMillis))) {
            // not more than two years, use singular
            startMillis = DateUtils.addYears(timestamp, 1).getTime();
            String monthsString = formatMonths(startMillis, endMillis);
            return "1 " + getPlural(1, "Year") + (!StringUtils.isEmpty(monthsString) ? " " + monthsString : "");
        }
        // show years and months
        String yearString = formatYears(startMillis, endMillis);
        String monthsString = formatMonths(startMillis, endMillis);
        return yearString + (!StringUtils.isEmpty(monthsString) ? " " + monthsString : "");
    }
}

From source file:com.wonders.stpt.metroIndicator.service.impl.MetroScaleServiceImpl.java

@Override
public List<MetroScale> findMetroScaleByMonth(int monthSpan, String maxDate, String line) {
    String[] dates;/*ww  w.j  a v  a2s.co  m*/
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Date date;
    try {
        date = sdf.parse(maxDate);
        if (monthSpan > 0) {
            dates = new String[monthSpan];
            for (int i = 0; i < monthSpan; i++) {
                Date newdate = DateUtils.addMonths(date, -i);
                if (i != 0)
                    newdate = DateUtil.getLastDayOfTheMonth(newdate);
                dates[i] = sdf.format(newdate);
            }
            return metroScaleDao.findMetroScaleByDates(dates, line);
        } else {
            return null;
        }
    } catch (ParseException e) {
        System.out.println("---------------?-------------");
        return null;
    }
}

From source file:com.doculibre.constellio.wicket.panels.admin.stats.CollectionStatsPanel.java

public CollectionStatsPanel(String id, final String collectionName) {
    super(id);/* w w  w . j  a  v  a 2s  .  c  o m*/

    endDate = new Date();
    startDate = DateUtils.addMonths(endDate, -1);

    Form form = new Form("form") {
        @Override
        protected void onSubmit() {
            statsPanel.replaceWith(statsPanel = new CollectionStatsReportPanel(statsPanel.getId(),
                    collectionName, statsType, startDate, endDate, rows, includeFederatedCollections));
        }
    };
    add(form);

    IModel queryExcludeRegexpsModel = new Model() {
        @Override
        public Object getObject() {
            String result;
            AdminCollectionPanel adminCollectionPanel = (AdminCollectionPanel) findParent(
                    AdminCollectionPanel.class);
            RecordCollection collection = adminCollectionPanel.getCollection();
            CollectionStatsFilter statsFilter = collection.getStatsFilter();
            if (statsFilter != null) {
                StringBuffer sb = new StringBuffer();
                Set<String> existingRegexps = statsFilter.getQueryExcludeRegexps();
                for (String existingRegexp : existingRegexps) {
                    sb.append(existingRegexp);
                    sb.append("\n");
                }
                result = sb.toString();
            } else {
                result = null;
            }
            return result;
        }

        @Override
        public void setObject(Object object) {
            String queryExcludeRegexpsStr = (String) object;
            String[] newRegexpsArray = StringUtils.split(queryExcludeRegexpsStr, "\n");
            List<String> newRegexps = new ArrayList<String>();
            for (String newRegexp : newRegexpsArray) {
                newRegexps.add(newRegexp.trim());
            }

            AdminCollectionPanel adminCollectionPanel = (AdminCollectionPanel) findParent(
                    AdminCollectionPanel.class);
            RecordCollection collection = adminCollectionPanel.getCollection();
            CollectionStatsFilter statsFilter = collection.getStatsFilter();
            if (statsFilter == null) {
                statsFilter = new CollectionStatsFilter();
                statsFilter.setRecordCollection(collection);
                collection.setStatsFilter(statsFilter);
            }

            Set<String> existingRegexps = statsFilter.getQueryExcludeRegexps();
            if (!CollectionUtils.isEqualCollection(existingRegexps, newRegexps)) {
                RecordCollectionServices collectionServices = ConstellioSpringUtils
                        .getRecordCollectionServices();
                EntityManager entityManager = ConstellioPersistenceContext.getCurrentEntityManager();
                if (!entityManager.getTransaction().isActive()) {
                    entityManager.getTransaction().begin();
                }
                existingRegexps.clear();
                existingRegexps.addAll(newRegexps);
                collectionServices.makePersistent(collection, false);

                entityManager.getTransaction().commit();
            }
        }
    };

    form.add(new TextArea("queryExcludeRegexps", queryExcludeRegexpsModel));
    form.add(new DateTextField("startDate", new PropertyModel(this, "startDate"), "yyyy-MM-dd")
            .add(new DatePicker()));
    form.add(new DateTextField("endDate", new PropertyModel(this, "endDate"), "yyyy-MM-dd")
            .add(new DatePicker()));
    form.add(new TextField("rows", new PropertyModel(this, "rows"), Integer.class));
    form.add(new CheckBox("includeFederatedCollections",
            new PropertyModel(this, "includeFederatedCollections")) {
        @Override
        public boolean isVisible() {
            boolean visible = super.isVisible();
            if (visible) {
                AdminCollectionPanel adminCollectionPanel = (AdminCollectionPanel) findParent(
                        AdminCollectionPanel.class);
                RecordCollection collection = adminCollectionPanel.getCollection();
                visible = collection.isFederationOwner();
            }
            return visible ? visible : false;
        }
    });

    form.add(new DropDownChoice("statsType", new PropertyModel(this, "statsType"), StatsConstants.ALL_STATS,
            new StringResourceChoiceRenderer("statsType", this)));

    form.add(new Label("title", new PropertyModel(this, "statsType")));
    statsPanel = new AjaxLazyLoadPanel("statsPanel") {
        @Override
        public Component getLazyLoadComponent(String markupId) {
            return new CollectionStatsReportPanel(markupId, collectionName, statsType, startDate, endDate, rows,
                    includeFederatedCollections);
        }
    };
    form.add(statsPanel);
}