List of usage examples for org.joda.time.format PeriodFormatterBuilder appendYears
public PeriodFormatterBuilder appendYears()
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;// w ww . j a v a 2s .c om } 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 a va2 s.co m * @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 www . j av a2 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 *//*from ww w.j a v a2s .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(); }
From source file:org.starnub.utilities.time.DateAndTimes.java
License:Open Source License
public static String getPeriodFormattedFromMilliseconds(long duration, boolean printZeros, int digitCount, String... separators) {/*from www . j a v a 2 s.c o m*/ Period period = new Period(duration).normalizedStandard(); PeriodFormatterBuilder formatterBuilder = new PeriodFormatterBuilder().minimumPrintedDigits(digitCount); if (printZeros) { formatterBuilder.printZeroIfSupported(); } formatterBuilder.appendYears().appendSeparator(separators[0]).appendMonths().appendSeparator(separators[1]) .appendWeeks().appendSeparator(separators[2]).appendDays().appendSeparator(separators[3]) .appendHours().appendSeparator(separators[4]).appendMinutes().appendSeparator(separators[5]) .appendSeconds().appendLiteral(separators[6]); return formatterBuilder.toFormatter().print(period); }
From source file:org.starnub.utilities.time.DateAndTimes.java
License:Open Source License
public static String getPeriodFormattedFromMillisecondsSuffix(long duration, boolean printZeros, int digitCount, String... separators) {/*from w ww . ja va 2 s. c o m*/ Period period = new Period(duration).normalizedStandard(); PeriodFormatterBuilder formatterBuilder = new PeriodFormatterBuilder().minimumPrintedDigits(digitCount); if (printZeros) { formatterBuilder.printZeroIfSupported(); } formatterBuilder.appendYears().appendSuffix(separators[0], separators[1]).appendMonths() .appendSuffix(separators[2], separators[3]).appendWeeks().appendSuffix(separators[4], separators[5]) .appendDays().appendSuffix(separators[6], separators[7]).appendHours() .appendSuffix(separators[8], separators[9]).appendMinutes() .appendSuffix(separators[10], separators[11]).appendSeconds() .appendSuffix(separators[12], separators[13]); return formatterBuilder.toFormatter().print(period); }