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

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

Introduction

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

Prototype

public PeriodFormatterBuilder appendLiteral(String text) 

Source Link

Document

Instructs the printer to emit specific text, and the parser to expect it.

Usage

From source file:ch.eitchnet.android.util.JodaHelper.java

License:Open Source License

public static String toHourMinute(Duration duration) {
    PeriodFormatterBuilder builder = new PeriodFormatterBuilder();
    builder.printZeroAlways();/*from w  ww .ja  va  2 s  . c  om*/
    if (duration.isShorterThan(Duration.ZERO))
        builder.appendLiteral("-");
    builder.minimumPrintedDigits(2).appendHours().appendLiteral(":").minimumPrintedDigits(2).appendMinutes();
    return builder.toFormatter().print(new Period(Math.abs(duration.getMillis())));
}

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 a v a 2  s .  com
    }

    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: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  . ja  v a2s  .c o  m
    }

    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));
}