Example usage for org.joda.time DateTime minusYears

List of usage examples for org.joda.time DateTime minusYears

Introduction

In this page you can find the example usage for org.joda.time DateTime minusYears.

Prototype

public DateTime minusYears(int years) 

Source Link

Document

Returns a copy of this datetime minus the specified number of years.

Usage

From source file:com.mycompany.assignment1.Student.java

public void setDob(DateTime dob) {
    this.DOB = dob.minusYears(year);
}

From source file:com.netflix.raigad.indexmanagement.IndexUtils.java

License:Apache License

public static int getPastRetentionCutoffDate(IndexMetadata indexMetadata) throws UnsupportedAutoIndexException {

    DateTime dt = new DateTime();
    int currentDate;

    switch (indexMetadata.getRetentionType()) {
    case DAILY:/*w  w  w . jav  a  2  s.  c o  m*/
        dt = dt.minusDays(indexMetadata.getRetentionPeriod());
        currentDate = Integer
                .parseInt(String.format("%d%02d%02d", dt.getYear(), dt.getMonthOfYear(), dt.getDayOfMonth()));
        break;
    case MONTHLY:
        dt = dt.minusMonths(indexMetadata.getRetentionPeriod());
        currentDate = Integer.parseInt(String.format("%d%02d", dt.getYear(), dt.getMonthOfYear()));
        break;
    case YEARLY:
        dt = dt.minusYears(indexMetadata.getRetentionPeriod());
        currentDate = Integer.parseInt(String.format("%d", dt.getYear()));
        break;
    default:
        throw new UnsupportedAutoIndexException(
                "Given index is not (DAILY or MONTHLY or YEARLY), please check your configuration.");

    }
    return currentDate;
}

From source file:com.ning.billing.util.clock.DefaultClock.java

License:Apache License

public static DateTime addOrRemoveDuration(final DateTime input, final List<Duration> durations,
        final boolean add) {
    DateTime result = input;
    for (final Duration cur : durations) {
        switch (cur.getUnit()) {
        case DAYS:
            result = add ? result.plusDays(cur.getNumber()) : result.minusDays(cur.getNumber());
            break;

        case MONTHS:
            result = add ? result.plusMonths(cur.getNumber()) : result.minusMonths(cur.getNumber());
            break;

        case YEARS:
            result = add ? result.plusYears(cur.getNumber()) : result.minusYears(cur.getNumber());
            break;
        case UNLIMITED:
        default://from  w  ww .j  av a2  s  .  c  o m
            throw new RuntimeException("Trying to move to unlimited time period");
        }
    }
    return result;
}

From source file:com.peertopark.java.dates.BirthdayUtils.java

public static Date randomBrithday() {
    DateTime dateTime = DateTime.now();
    dateTime.minusYears(Numbers.THIRTY);
    return dateTime.toDate();
}

From source file:com.reclabs.recomendar.common.helpers.types.DateHelper.java

License:Open Source License

/**
 * Subtract to the current date the amount of that precisionType represent.
 * @param date The date to subtract// w  w w .j a v  a 2s. c  o  m
 * @param amount The amount to subtract
 * @param precisionType The field to subtract
 * @return The new date
 */
public static Date subtract(Date date, int amount, DatePrecisionType precisionType) {
    DateTime jodaDate1 = new DateTime(date.getTime());
    DateTime result;
    switch (precisionType) {
    case YEAR:
        result = jodaDate1.minusYears(amount);
        break;
    case MONTH:
        result = jodaDate1.minusMonths(amount);
        break;
    case DAY:
        result = jodaDate1.minusDays(amount);
        break;
    case HOUR:
        result = jodaDate1.minusHours(amount);
        break;
    case MINUTE:
        result = jodaDate1.minusMinutes(amount);
        break;
    case SECOND:
        result = jodaDate1.minusSeconds(amount);
        break;
    case MILLISECOND:
        result = jodaDate1.minusMillis(amount);
        break;
    default:
        LOGGER.warn("[Error subtract, precision value is invalid: {}]", precisionType);
        throw new RecIllegalArgumentException("The precision value is invalid " + precisionType);
    }
    return result.toDate();
}

From source file:com.tango.BucketSyncer.MirrorOptions.java

License:Apache License

private long initMaxAge() {

    DateTime dateTime = new DateTime(nowTime);

    // all digits -- assume "days"
    if (ctime.matches("^[0-9]+$"))
        return dateTime.minusDays(Integer.parseInt(ctime)).getMillis();

    // ensure there is at least one digit, and exactly one character suffix, and the suffix is a legal option
    if (!ctime.matches("^[0-9]+[yMwdhms]$"))
        throw new IllegalArgumentException("Invalid option for ctime: " + ctime);

    if (ctime.endsWith("y"))
        return dateTime.minusYears(getCtimeNumber(ctime)).getMillis();
    if (ctime.endsWith("M"))
        return dateTime.minusMonths(getCtimeNumber(ctime)).getMillis();
    if (ctime.endsWith("w"))
        return dateTime.minusWeeks(getCtimeNumber(ctime)).getMillis();
    if (ctime.endsWith("d"))
        return dateTime.minusDays(getCtimeNumber(ctime)).getMillis();
    if (ctime.endsWith("h"))
        return dateTime.minusHours(getCtimeNumber(ctime)).getMillis();
    if (ctime.endsWith("m"))
        return dateTime.minusMinutes(getCtimeNumber(ctime)).getMillis();
    if (ctime.endsWith("s"))
        return dateTime.minusSeconds(getCtimeNumber(ctime)).getMillis();
    throw new IllegalArgumentException("Invalid option for ctime: " + ctime);
}

From source file:com.tysanclan.site.projectewok.pages.member.FinancePage.java

License:Open Source License

/**
 * /*from w ww.ja  v a2 s  . c  o  m*/
 */
public FinancePage() {
    super("Clan Finances");

    // Charts:
    // - cash flow
    // - annual expense breakdown
    // - cash reserves
    // - reserve expiration date
    // - donations
    // - contribution
    // - subscriptions
    List<Expense> expenses = expenseDAO.findAll();
    List<Expense> filtered = new LinkedList<Expense>();

    BigDecimal sum = new BigDecimal(0).setScale(2);

    DateTime now = new DateTime();
    DateTime oneMonthAgo = now.minusMonths(1);
    DateTime oneYearAgo = now.minusYears(1);
    DateTime year1997 = new DateTime(1997, 1, 1, 12, 0, 0, 0);

    for (Expense expense : expenses) {
        if (expense.getEnd() == null || expense.getEnd().after(now.toDate())) {
            switch (expense.getPeriod()) {
            case MONTHLY:
                sum = sum.add(expense.getAmount().multiply(factor12));
                break;
            case QUARTERLY:
                sum = sum.add(expense.getAmount().multiply(factor4));
                break;
            case SEMIANNUALLY:
                sum = sum.add(expense.getAmount().multiply(factor2));
                break;
            case ANNUALLY:
                sum = sum.add(expense.getAmount());
                break;
            case BIANNUALLY:
                sum = sum.add(expense.getAmount().divide(factor2, RoundingMode.HALF_UP));
                break;
            }

            filtered.add(expense);
        }
    }

    add(new ListView<Expense>("expenses", ModelMaker.wrap(filtered)) {
        private static final long serialVersionUID = 1L;

        /**
         * @see org.apache.wicket.markup.html.list.ListView#populateItem(org.apache.wicket.markup.html.list.ListItem)
         */
        @Override
        protected void populateItem(ListItem<Expense> item) {
            Expense expense = item.getModelObject();

            item.add(new Label("name", expense.getName()));
            String regularity = null;
            IModel<String> yearlyExpense = null;

            boolean amountPerTermVisible = true;

            switch (expense.getPeriod()) {
            case MONTHLY:
                regularity = "Monthly";
                yearlyExpense = new DollarSignModel(
                        new Model<BigDecimal>(expense.getAmount().multiply(factor12)));
                break;
            case QUARTERLY:
                regularity = "Quarterly";
                yearlyExpense = new DollarSignModel(
                        new Model<BigDecimal>(expense.getAmount().multiply(factor4)));
                break;
            case SEMIANNUALLY:
                regularity = "Semiannually";
                yearlyExpense = new DollarSignModel(
                        new Model<BigDecimal>(expense.getAmount().multiply(factor2)));
                break;
            case BIANNUALLY:
                regularity = "Biannually";
                yearlyExpense = new DollarSignModel(
                        new Model<BigDecimal>(expense.getAmount().divide(factor2, RoundingMode.HALF_UP)));
                break;
            default:
                amountPerTermVisible = false;
                regularity = "Annually";
                yearlyExpense = new DollarSignModel(new Model<BigDecimal>(expense.getAmount()));

            }

            item.add(new Label("regularity", regularity));

            item.add(new Label("amounteach", new DollarSignModel(new Model<BigDecimal>(expense.getAmount())))
                    .setVisible(amountPerTermVisible));
            item.add(new Label("annualfee", yearlyExpense));
        }
    });

    add(new Label("annualcost", new DollarSignModel(new Model<BigDecimal>(sum))));

    FinancialTimeline timeline = new FinancialTimeline(expenseDAO, donationDAO, subscriptionDAO,
            paidExpenseDAO);

    // Finance overview charts

    addLineChart("monthlychart", "Cash flow last month", 2, timeline.getCashFlow(oneMonthAgo, now));
    addLineChart("yearlychart", "Cash flow last year", 2, timeline.getCashFlow(oneYearAgo, now));
    addLineChart("alltimechart", "Cash flow all time", 2, timeline.getCashFlow(year1997, now));
    add(GraphUtil.makePieChart("monthlyparticipation", "Participation last month",
            timeline.getParticipation(oneMonthAgo, now)));
    add(GraphUtil.makePieChart("annualparticipation", "Participation last year",
            timeline.getParticipation(oneYearAgo, now)));
    add(GraphUtil.makePieChart("alltimeparticipation", "All time participation",
            timeline.getParticipation(year1997, now)));

    add(GraphUtil.makeReservesBarChart("reserves", "Cash reserves by donator", timeline.getReservesAt(now)));

    add(new BookmarkablePageLink<CharterPage>("charter", CharterPage.class));
    add(new WebMarkupContainer("un")
            .add(AttributeModifier.replace("value", "Tysan Donation by " + getUser().getUsername())));
    User treasurer = roleService.getTreasurer();

    add(new HiddenField<String>("paypalAddress",
            new Model<String>(treasurer != null ? treasurer.getPaypalAddress() : "disable"))
                    .add(AttributeModifier.replace("name", "business")));

    add(new ActivateSubscriptionPanel("activatesubscription", getUser(), new FinancePageLink()));
    add(new ViewSubscriptionPanel("viewsubscription", getUser(), new FinancePageLink()));
}

From source file:com.webarch.common.datetime.DateTimeUtils.java

License:Apache License

/**
 * ?/* w  w w . j  av a2  s  .c  om*/
 *
 * @param date     ?
 * @param before   ??
 * @param timeUnit ??,<code>0,1,2,3,4</code>
 * @return ??
 */
public static Date getBeforeDate(Date date, final int before, final int timeUnit) {
    DateTime dateTime = new DateTime(date);
    Date result;
    switch (timeUnit) {
    case YEAR_UNIT:
        result = dateTime.minusYears(before).toDate();
        break;
    case MONTH_UNIT:
        result = dateTime.minusMonths(before).toDate();
        break;
    case DAY_UNIT:
        result = dateTime.minusDays(before).toDate();
        break;
    case HOURE_UNIT:
        result = dateTime.minusHours(before).toDate();
        break;
    case MINUTE_UNIT:
        result = dateTime.minusMinutes(before).toDate();
        break;
    default:
        result = date;
    }
    return result;
}

From source file:com.weebly.opus1269.copyeverywhere.model.ClipContentProvider.java

License:Apache License

/**
 * Delete rows older than the storage duration
 *
 * @return Number of rows deleted/*from   ww  w .ja v  a2s .  c om*/
 */
@SuppressWarnings("CallToStringEquals")
public static int deleteOldItems() {
    final String value = Prefs.getDuration();
    if (value.equals(Prefs.DEFAULT_DURATION)) {
        return 0;
    }

    final Context context = App.getContext();
    DateTime today = DateTime.now();
    today = today.withTimeAtStartOfDay();
    DateTime deleteDate = today;
    switch (value) {
    case "day":
        deleteDate = deleteDate.minusDays(1);
        break;
    case "week":
        deleteDate = deleteDate.minusWeeks(1);
        break;
    case "month":
        deleteDate = deleteDate.minusMonths(1);
        break;
    case "year":
        deleteDate = deleteDate.minusYears(1);
        break;
    default:
        return 0;
    }

    final long deleteTime = deleteDate.getMillis();

    // Select all non-favorites older than the calculated time
    final String selection = "(" + ClipContract.Clip.COL_FAV + " == 0 " + ")" + " AND ("
            + ClipContract.Clip.COL_DATE + " < " + deleteTime + ")";

    return context.getContentResolver().delete(ClipContract.Clip.CONTENT_URI, selection, null);
}

From source file:com.xpn.xwiki.criteria.impl.PeriodFactory.java

License:Open Source License

/**
 * Creates a new Period instance that matches all the instants between N years before the instantiation and the
 * instantiation./*  w ww.  j a v a2  s  . c  o m*/
 * 
 * @param numberOfYears number of years to substract from current date
 * @return The corresponding period object
 */
public static Period createSinceYearsPeriod(int numberOfYears) {
    DateTime dt = new DateTime();
    return createPeriod(dt.minusYears(numberOfYears).getMillis(), dt.getMillis());
}