Example usage for org.joda.time Period Period

List of usage examples for org.joda.time Period Period

Introduction

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

Prototype

public Period() 

Source Link

Document

Creates a new empty period with the standard set of fields.

Usage

From source file:com.nestedbird.models.occurrence.Occurrence.java

License:Open Source License

@Builder
private Occurrence(final String id, final Event event, final DateTime startTime, final Period duration,
        final String facebookPostId) {
    super(id);//from  w ww  .j a  v  a2  s  .c  om

    // Null safe
    this.startTime = Optional.ofNullable(startTime).orElse(new DateTime());
    this.duration = Optional.ofNullable(duration).orElse(new Period());

    // Not null safe
    this.event = event;
    this.facebookPostId = facebookPostId;
}

From source file:com.ning.billing.catalog.DefaultDuration.java

License:Apache License

@Override
public Period toJodaPeriod() {
    if ((number == null) && (unit != TimeUnit.UNLIMITED)) {
        return new Period();
    }/*from   w w w  . j a va2 s.  c  o  m*/

    switch (unit) {
    case DAYS:
        return new Period().withDays(number);
    case MONTHS:
        return new Period().withMonths(number);
    case YEARS:
        return new Period().withYears(number);
    case UNLIMITED:
        return new Period().withYears(100);
    default:
        return new Period();
    }
}

From source file:com.ofalvai.bpinfo.ui.alertlist.AlertListPresenter.java

License:Apache License

/**
 * Initiates a list update if enough time has passed since the last update
 *//*from w  ww . j a  v  a  2s .c o  m*/
@Override
public boolean updateIfNeeded() {
    Period updatePeriod = new Period().withSeconds(Config.REFRESH_THRESHOLD_SEC);
    if (mLastUpdate != null && mLastUpdate.plus(updatePeriod).isBeforeNow()) {
        fetchAlertList();
        fetchNotice();
        return true;
    } else {
        return false;
    }
}

From source file:de.azapps.mirakel.helper.CompatibilityHelper.java

License:Open Source License

public static Recurring parseTaskWarriorRecurrence(final String recur) {
    final Scanner in = new Scanner(recur);
    in.useDelimiter("[^0-9]+");
    int number = 1;
    if (in.hasNextInt()) {
        number = in.nextInt();//from  w w  w . ja  va 2s.  c o m
    }
    in.close();
    // remove number and possible sign(recurrence should be positive but who
    // knows)
    final Recurring r;
    switch (recur.replace(String.valueOf(number), "").replace("-", "")) {
    case "yearly":
    case "annual":
        number = 1;
        //$FALL-THROUGH$
    case "years":
    case "year":
    case "yrs":
    case "yr":
    case "y":
        r = new Recurring(0, recur, getInterval(number, 0, 0, 0, 0), true, Optional.<DateTime>absent(),
                Optional.<DateTime>absent(), true, false, new SparseBooleanArray(), Optional.<Long>absent());
        break;
    case "semiannual":
        r = new Recurring(0, recur, getInterval(0, 6, 0, 0, 0), true, Optional.<DateTime>absent(),
                Optional.<DateTime>absent(), true, false, new SparseBooleanArray(), Optional.<Long>absent());
        break;
    case "biannual":
    case "biyearly":
        r = new Recurring(0, recur, getInterval(2, 0, 0, 0, 0), true, Optional.<DateTime>absent(),
                Optional.<DateTime>absent(), true, false, new SparseBooleanArray(), Optional.<Long>absent());
        break;
    case "bimonthly":
        r = new Recurring(0, recur, getInterval(0, 2, 0, 0, 0), true, Optional.<DateTime>absent(),
                Optional.<DateTime>absent(), true, true, new SparseBooleanArray(), Optional.<Long>absent());
        break;
    case "biweekly":
    case "fortnight":
        r = new Recurring(0, recur, getInterval(0, 0, 14, 0, 0), true, Optional.<DateTime>absent(),
                Optional.<DateTime>absent(), true, false, new SparseBooleanArray(), Optional.<Long>absent());
        break;
    case "daily":
        number = 1;
        //$FALL-THROUGH$
    case "days":
    case "day":
    case "d":
        r = new Recurring(0, recur, getInterval(0, 0, number, 0, 0), true, Optional.<DateTime>absent(),
                Optional.<DateTime>absent(), true, false, new SparseBooleanArray(), Optional.<Long>absent());
        break;
    case "hours":
    case "hour":
    case "hrs":
    case "hr":
    case "h":
        r = new Recurring(0, recur, getInterval(0, 0, 0, number, 0), true, Optional.<DateTime>absent(),
                Optional.<DateTime>absent(), true, false, new SparseBooleanArray(), Optional.<Long>absent());
        break;
    case "minutes":
    case "mins":
    case "min":
        r = new Recurring(0, recur, getInterval(0, 0, 0, 0, number), true, Optional.<DateTime>absent(),
                Optional.<DateTime>absent(), true, false, new SparseBooleanArray(), Optional.<Long>absent());
        break;
    case "monthly":
        number = 1;
        //$FALL-THROUGH$
    case "months":
    case "month":
    case "mnths":
    case "mths":
    case "mth":
    case "mos":
    case "mo":
        r = new Recurring(0, recur, getInterval(0, number, 0, 0, 0), true, Optional.<DateTime>absent(),
                Optional.<DateTime>absent(), true, false, new SparseBooleanArray(), Optional.<Long>absent());
        break;
    case "quarterly":
        number = 1;
        //$FALL-THROUGH$
    case "quarters":
    case "qrtrs":
    case "qtrs":
    case "qtr":
    case "q":
        r = new Recurring(0, recur, getInterval(0, 3 * number, 0, 0, 0), true, Optional.<DateTime>absent(),
                Optional.<DateTime>absent(), true, false, new SparseBooleanArray(), Optional.<Long>absent());
        break;
    default:
    case "seconds":
    case "secs":
    case "sec":
    case "s":
        Log.w(TAG, "mirakel des not support " + recur);
        r = null;
        break;
    case "weekdays":
        final SparseBooleanArray weekdays = new SparseBooleanArray(7);
        for (int i = Calendar.SUNDAY; i <= Calendar.SATURDAY; i++) {
            weekdays.put(i, i != Calendar.SATURDAY && i != Calendar.SUNDAY);
        }
        r = new Recurring(0, recur, new Period(), true, Optional.<DateTime>absent(),
                Optional.<DateTime>absent(), true, false, weekdays, Optional.<Long>absent());
        break;
    case "sennight":
    case "weekly":
        number = 1;
        //$FALL-THROUGH$
    case "weeks":
    case "week":
    case "wks":
    case "wk":
    case "w":
        r = new Recurring(0, recur, getInterval(0, 0, 7 * number, 0, 0), true, Optional.<DateTime>absent(),
                Optional.<DateTime>absent(), true, false, new SparseBooleanArray(), Optional.<Long>absent());
        break;
    }
    return r.create();
}

From source file:de.azapps.mirakel.sync.taskwarrior.model.TaskWarriorRecurrence.java

License:Open Source License

public TaskWarriorRecurrence(final @NonNull String recur, final @NonNull Optional<DateTime> end)
        throws NotSupportedRecurrenceException {
    super();/*from  w ww . j av  a  2s  .co  m*/
    final Scanner in = new Scanner(recur);
    in.useDelimiter("[^0-9]+");
    int number = 1;
    if (in.hasNextInt()) {
        number = in.nextInt();
    }
    in.close();
    // remove number and possible sign(recurrence should be positive but who knows)
    switch (recur.replace(String.valueOf(number), "").replace("-", "")) {
    case "yearly":
    case "annual":
        number = 1;
        //$FALL-THROUGH$
    case "years":
    case "year":
    case "yrs":
    case "yr":
    case "y":
        recurringInterval = new Period().withYears(number);
        break;
    case "semiannual":
        recurringInterval = new Period().withMonths(6);
        break;
    case "biannual":
    case "biyearly":
        recurringInterval = new Period().withYears(2);
        break;
    case "bimonthly":
        recurringInterval = new Period().withMonths(2);
        break;
    case "biweekly":
    case "fortnight":
        recurringInterval = new Period().withWeeks(2);
        break;
    case "daily":
        number = 1;
        //$FALL-THROUGH$
    case "days":
    case "day":
    case "d":
        recurringInterval = new Period().withDays(number);
        break;
    case "hours":
    case "hour":
    case "hrs":
    case "hr":
    case "h":
        recurringInterval = new Period().withHours(number);
        break;
    case "minutes":
    case "mins":
    case "min":
        recurringInterval = new Period().withMinutes(number);
        break;
    case "monthly":
        number = 1;
        //$FALL-THROUGH$
    case "months":
    case "month":
    case "mnths":
    case "mths":
    case "mth":
    case "mos":
    case "mo":
        recurringInterval = new Period().withMonths(number);
        break;
    case "quarterly":
        number = 1;
        //$FALL-THROUGH$
    case "quarters":
    case "qrtrs":
    case "qtrs":
    case "qtr":
    case "q":
        recurringInterval = new Period().withMonths(3 * number);
        break;
    case "sennight":
    case "weekly":
        number = 1;
        //$FALL-THROUGH$
    case "weeks":
    case "week":
    case "wks":
    case "wk":
    case "w":
        recurringInterval = new Period().withWeeks(number);
        break;
    case "weekdays":
        final SparseBooleanArray weekdays = new SparseBooleanArray(7);
        for (int i = DateTimeConstants.MONDAY; i <= DateTimeConstants.SUNDAY; i++) {
            weekdays.put(i, (i != DateTimeConstants.SATURDAY) && (i != DateTimeConstants.SUNDAY));
        }
        setWeekdays(weekdays);
        break;
    case "seconds":
    case "secs":
    case "sec":
    case "s":
    default:
        Log.w(TAG, "mirakel des not support " + recur);
        throw new NotSupportedRecurrenceException("mirakel des not support " + recur);

    }
    setForDue(true);
    setEndDate(end);
    setExact(false);
    setName(recur);
    setTemporary(true);
    if (recurringInterval == null) {
        recurringInterval = new Period();
    }
    recurringInterval = recurringInterval.normalizedStandard();
}

From source file:de.tshw.worktracker.model.WorkLogEntry.java

License:MIT License

public Period getTimeElapsed() {
    Period period = new Period();
    if (!isRunning()) {
        period = new Period(startTime, endTime);
    }//  w  w  w. ja  v a 2 s.com
    return period;
}

From source file:ee.ut.soras.ajavtV2.mudel.ajavaljend.arvutus.AjaKestvus.java

License:Open Source License

public void addToField(Granulaarsus field, int value) {
    if (this.periood == null) {
        this.periood = new Period();
    }//from   w ww.  j a v  a2  s.  co m
    // ------ Kell
    if (field == Granulaarsus.HOUR_OF_HALF_DAY || field == Granulaarsus.HOUR_OF_DAY) {
        try {
            this.periood = (this.periood).plusHours(value);
        } catch (Exception e) {
        }
    } else if (field == Granulaarsus.MINUTE) {
        try {
            this.periood = (this.periood).plusMinutes(value);
        } catch (Exception e) {
        }
    } else
    // ------ P2evad, n2dalad, kuud, aastad
    if (field == Granulaarsus.DAY_OF_WEEK || field == Granulaarsus.DAY_OF_MONTH) {
        try {
            this.periood = (this.periood).plusDays(value);
        } catch (Exception e) {
        }
    } else if (field == Granulaarsus.WEEK_OF_YEAR) {
        try {
            this.periood = (this.periood).plusWeeks(value);
        } catch (Exception e) {
        }
    } else if (field == Granulaarsus.MONTH) {
        try {
            this.periood = (this.periood).plusMonths(value);
        } catch (Exception e) {
        }
    } else if (field == Granulaarsus.YEAR) {
        this.periood = (this.periood).plusYears(value);
    } else if (field == Granulaarsus.CENTURY_OF_ERA) {
        this.periood = (this.periood).plusYears(value * 100);
    }
}

From source file:ee.ut.soras.ajavtV2.mudel.ajavaljend.arvutus.AjaKestvus.java

License:Open Source License

public void addToField(Granulaarsus field, Period period, int direction) {
    if (this.periood == null) {
        this.periood = new Period();
    }/* ww w . ja  v  a2s . com*/
    try {
        this.periood = (this.periood).plus(period);
    } catch (Exception e) {
    }
}

From source file:ee.ut.soras.ajavtV2.util.SemDefValjadeParsija.java

License:Open Source License

/**
 *   Parsib murdarvulise ajamaarangu (nt <i>1.5 aastat</i>) lahti sobivate granulaarsustega
 *  perioodiks (nt <i>1 aasta ja 6 kuud</i>). Kui parsimine eba6nnestub, tagastab <tt>null</tt>.
 *  Onnestumise korral tagastab massiivi, mille esimene objekt on ajaperiood (Joda Time'i <tt>Period</tt>) 
 *  ning teine objekt uus MOD vaartus. Teine objekt voib ka yldse puududa - see lisatakse vaid juhul, 
 *  kui parsitud periood on ebatapne (nt on ebatapne kuu parsimine paevadeks).
 *///from  www  .j a va 2s  .c o m
public static Object[] parsiMurdarvulineAjakvantiteetPerioodiks(Granulaarsus field, double murdarvuline) {
    Period periood = new Period();
    String modifier = null;
    // ----------------------------------------------------------
    //     Mitte-t2isarvulise ajaperioodi lisamine...
    // ----------------------------------------------------------
    int[] taisArvuOsaJaMurdArvuOsa = separateIntegerPartAndFloatingPart(murdarvuline);
    if (field == Granulaarsus.MINUTE) {
        // minutid
        try {
            // Esialgu lisame siin ainult taisosa, sekundid jaavad mangust valja
            periood = (periood).plusMinutes(taisArvuOsaJaMurdArvuOsa[0]);
        } catch (Exception e) {
        }
    } else if (field == Granulaarsus.HOUR_OF_HALF_DAY || field == Granulaarsus.HOUR_OF_DAY) {
        // minutid ja tunnid            
        try {
            periood = (periood).plusMinutes((taisArvuOsaJaMurdArvuOsa[1] * 60) / 100);
            periood = (periood).plusHours(taisArvuOsaJaMurdArvuOsa[0]);
        } catch (Exception e) {
        }
    } else if (field == Granulaarsus.DAY_OF_WEEK || field == Granulaarsus.DAY_OF_MONTH) {
        // p2evad ja tunnid            
        try {
            periood = (periood).plusHours((taisArvuOsaJaMurdArvuOsa[1] * 24) / 100);
            periood = (periood).plusDays(taisArvuOsaJaMurdArvuOsa[0]);
        } catch (Exception e) {
        }
    } else if (field == Granulaarsus.WEEK_OF_YEAR) {
        // p2evad ja n2dalad            
        try {
            periood = (periood).plusDays((taisArvuOsaJaMurdArvuOsa[1] * 7) / 100);
            periood = (periood).plusWeeks(taisArvuOsaJaMurdArvuOsa[0]);
        } catch (Exception e) {
        }
    } else if (field == Granulaarsus.MONTH) {
        // p2evad ja kuud 
        // (NB! Muutub ligikaudseks, kuna pole t2pselt teada, millise
        // kuuga on tegu ning kuupikkused on erinevad)
        try {
            periood = (periood).plusDays((taisArvuOsaJaMurdArvuOsa[1] * 30) / 100);
            periood = (periood).plusMonths(taisArvuOsaJaMurdArvuOsa[0]);
            modifier = "APPROX";
        } catch (Exception e) {
        }
    } else if (field == Granulaarsus.YEAR) {
        // kuud ja aastad
        try {
            periood = (periood).plusMonths((taisArvuOsaJaMurdArvuOsa[1] * 12) / 100);
            periood = (periood).plusYears(taisArvuOsaJaMurdArvuOsa[0]);
        } catch (Exception e) {
        }
    }
    if (field == Granulaarsus.CENTURY_OF_ERA) {
        // sajandid ja aastad
        try {
            // Aastad
            periood = (periood).plusYears(taisArvuOsaJaMurdArvuOsa[1]);
            // Esialgu periood sajandites m66tmist ei toeta, seega konverteerime sajandid aastateks
            periood = (periood).plusYears(taisArvuOsaJaMurdArvuOsa[0] * 100);
        } catch (Exception e) {
        }
    }
    Object[] tagastatav = null;
    if (modifier != null) {
        tagastatav = new Object[2];
        tagastatav[0] = periood;
        tagastatav[1] = modifier;
    } else {
        tagastatav = new Object[1];
        tagastatav[0] = periood;
    }
    return tagastatav;
}

From source file:elw.web.FormatTool.java

License:Open Source License

public String formatDuration(final long timeMillis) {
    final Period period = new Period();
    final Period periodNorm = period.plusMillis((int) Math.abs(timeMillis)).normalizedStandard();

    if (periodNorm.getYears() > 0) {
        return lookupPeriodFormatter("y").print(periodNorm);
    } else if (periodNorm.getMonths() > 0) {
        return lookupPeriodFormatter("M").print(periodNorm);
    } else if (periodNorm.getDays() > 0) {
        return lookupPeriodFormatter("d").print(periodNorm);
    } else if (periodNorm.getHours() > 0) {
        return lookupPeriodFormatter("H").print(periodNorm);
    } else if (periodNorm.getMinutes() > 0) {
        return lookupPeriodFormatter("m").print(periodNorm);
    } else {/*w  w  w  .  j  a v a 2s .co  m*/
        //  LATER sometimes durations less than one second occur
        return lookupPeriodFormatter("s").print(periodNorm);
    }
}