Example usage for org.joda.time.format PeriodFormatterBuilder appendMonths

List of usage examples for org.joda.time.format PeriodFormatterBuilder appendMonths

Introduction

In this page you can find the example usage for org.joda.time.format PeriodFormatterBuilder appendMonths.

Prototype

public PeriodFormatterBuilder appendMonths() 

Source Link

Document

Instruct the printer to emit an integer months field, if supported.

Usage

From source file:com.facebook.presto.util.DateTimeUtils.java

License:Apache License

private static PeriodFormatter cretePeriodFormatter(IntervalField startField, IntervalField endField) {
    if (endField == null) {
        endField = startField;/*from  w ww  .j  av  a 2s  .co m*/
    }

    List<PeriodParser> parsers = new ArrayList<>();

    PeriodFormatterBuilder builder = new PeriodFormatterBuilder();
    //CHECKSTYLE.OFF
    switch (startField) {
    case YEAR:
        builder.appendYears();
        parsers.add(builder.toParser());
        if (endField == IntervalField.YEAR) {
            break;
        }
        builder.appendLiteral("-");
    case MONTH:
        builder.appendMonths();
        parsers.add(builder.toParser());
        if (endField != IntervalField.MONTH) {
            throw new IllegalArgumentException("Invalid interval qualifier: " + startField + " to " + endField);
        }
        break;

    case DAY:
        builder.appendDays();
        parsers.add(builder.toParser());
        if (endField == IntervalField.DAY) {
            break;
        }
        builder.appendLiteral(" ");

    case HOUR:
        builder.appendHours();
        parsers.add(builder.toParser());
        if (endField == IntervalField.HOUR) {
            break;
        }
        builder.appendLiteral(":");

    case MINUTE:
        builder.appendMinutes();
        parsers.add(builder.toParser());
        if (endField == IntervalField.MINUTE) {
            break;
        }
        builder.appendLiteral(":");

    case SECOND:
        builder.appendSecondsWithOptionalMillis();
        parsers.add(builder.toParser());
    }
    //CHECKSTYLE.ON

    return new PeriodFormatter(builder.toPrinter(), new OrderedPeriodParser(parsers));
}

From source file:com.mobileman.kuravis.core.util.DateTimeUtils.java

License:Apache License

/**
 * @param date/*from w  w  w  .  j av  a 2s  .c  om*/
 * @return formatted elapsed time from now
 */
public static String fmtElapsedTime(Date date) {
    if (date == null) {
        return "";
    }
    Period period = new Period(date.getTime(), Calendar.getInstance().getTimeInMillis());
    PeriodFormatterBuilder pf = new PeriodFormatterBuilder();
    pf.appendPrefix(" vor ");
    if (period.getYears() > 0) {
        pf.appendYears().appendSuffix(" Jahr", " Jahren");
    } else if (period.getMonths() > 0) {
        pf.appendMonths().appendSuffix(" Monat", " Monaten");
    } else if (period.getWeeks() > 0) {
        pf.appendWeeks().appendSuffix(" Woche ", " Wochen");
    } else if (period.getDays() > 0) {
        pf.appendDays().appendSuffix(" Tag ", " Tagen");
    } else if (period.getHours() > 0) {
        pf.appendHours().appendSuffix(" Stunde ", " Stunden");
    } else if (period.getMinutes() > 0) {
        pf.appendMinutes().appendSuffix(" Minute ", " Minuten");
    } else if (period.getSeconds() > 0) {
        pf.appendSeconds().appendSuffix(" Sekunde ", " Sekunden");
    }
    return pf.toFormatter().print(period);
}

From source file:io.prestosql.util.DateTimeUtils.java

License:Apache License

private static PeriodFormatter cretePeriodFormatter(IntervalField startField, IntervalField endField) {
    if (endField == null) {
        endField = startField;/*from  w  w w.  j a v a  2 s.com*/
    }

    List<PeriodParser> parsers = new ArrayList<>();

    PeriodFormatterBuilder builder = new PeriodFormatterBuilder();
    switch (startField) {
    case YEAR:
        builder.appendYears();
        parsers.add(builder.toParser());
        if (endField == IntervalField.YEAR) {
            break;
        }
        builder.appendLiteral("-");
        // fall through

    case MONTH:
        builder.appendMonths();
        parsers.add(builder.toParser());
        if (endField != IntervalField.MONTH) {
            throw new IllegalArgumentException("Invalid interval qualifier: " + startField + " to " + endField);
        }
        break;

    case DAY:
        builder.appendDays();
        parsers.add(builder.toParser());
        if (endField == IntervalField.DAY) {
            break;
        }
        builder.appendLiteral(" ");
        // fall through

    case HOUR:
        builder.appendHours();
        parsers.add(builder.toParser());
        if (endField == IntervalField.HOUR) {
            break;
        }
        builder.appendLiteral(":");
        // fall through

    case MINUTE:
        builder.appendMinutes();
        parsers.add(builder.toParser());
        if (endField == IntervalField.MINUTE) {
            break;
        }
        builder.appendLiteral(":");
        // fall through

    case SECOND:
        builder.appendSecondsWithOptionalMillis();
        parsers.add(builder.toParser());
        break;
    }

    return new PeriodFormatter(builder.toPrinter(), new OrderedPeriodParser(parsers));
}

From source file:org.openvpms.archetype.i18n.time.DateDurationFormatter.java

License:Open Source License

/**
 * Constructs a {@link DateDurationFormatter}.
 *
 * @param showYears   determines if years should be displayed
 * @param showMonths  determines if months should be displayed
 * @param showWeeks   determines if weeks should be displayed
 * @param showDays    determines if days should be displayed
 * @param showHours   determines if hours should be displayed
 * @param showMinutes determines if minutes should be displayed
 *//*  ww w  . j  av  a 2 s  .  c o m*/
protected DateDurationFormatter(boolean showYears, boolean showMonths, boolean showWeeks, boolean showDays,
        boolean showHours, boolean showMinutes) {
    this.showYears = showYears;
    this.showMonths = showMonths;
    this.showWeeks = showWeeks;
    this.showDays = showDays;
    this.showHours = showHours;
    this.showMinutes = showMinutes;

    PeriodFormatterBuilder builder = new PeriodFormatterBuilder();
    if (showYears) {
        builder = builder.appendYears().appendSuffix(YEAR_SUFFIX, YEARS_SUFFIX).appendSeparator(" ");
    }
    if (showMonths) {
        builder = builder.appendMonths().appendSuffix(MONTH_SUFFIX, MONTHS_SUFFIX).appendSeparator(" ");
    }
    if (showWeeks) {
        builder = builder.appendWeeks().appendSuffix(WEEK_SUFFIX, WEEKS_SUFFIX).appendSeparator(" ");
    }
    if (showDays) {
        builder = builder.appendDays().appendSuffix(DAY_SUFFIX, DAYS_SUFFIX).appendSeparator(" ");
    }
    if (showHours) {
        builder = builder.appendHours().appendSuffix(HOUR_SUFFIX, HOURS_SUFFIX).appendSeparator(" ");
    }
    if (showMinutes) {
        builder = builder.appendMinutes().appendSuffix(MINUTE_SUFFIX, MINUTES_SUFFIX).appendSeparator(" ");
    }

    formatter = builder.toFormatter();
}