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

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

Introduction

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

Prototype

public PeriodFormatterBuilder appendSecondsWithOptionalMillis() 

Source Link

Document

Instruct the printer to emit a combined seconds and millis 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 www  .j  ava2s  .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  ww. j  a  va  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));
}