List of usage examples for org.apache.commons.lang.time DateUtils addMonths
public static Date addMonths(Date date, int amount)
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); }