List of usage examples for org.joda.time.format PeriodFormatterBuilder appendHours
public PeriodFormatterBuilder appendHours()
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 ww w .j a v a 2 s.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/* www . ja v a2 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;//w w w . java 2 s. 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)); }
From source file:org.jspresso.framework.util.format.DurationFormatter.java
License:Open Source License
/** * Constructs a new {@code DurationFormatter} instance. * * @param translationProvider/*from w w w . j av a2 s.c o m*/ * the translation provider for duration labels. * @param locale * the locale the formatter must be constructed in. */ public DurationFormatter(ITranslationProvider translationProvider, Locale locale, boolean secondsAware, boolean millisecondsAware) { super(); PeriodFormatterBuilder builder = new PeriodFormatterBuilder(); builder.appendDays(); builder.appendSuffix(" " + translationProvider.getTranslation("day", locale), " " + translationProvider.getTranslation("days", locale)); builder.appendSeparator(" "); builder.appendHours(); builder.appendSuffix(" " + translationProvider.getTranslation("hour", locale), " " + translationProvider.getTranslation("hours", locale)); builder.appendSeparator(" "); builder.appendMinutes(); builder.appendSuffix(" " + translationProvider.getTranslation("minute", locale), " " + translationProvider.getTranslation("minutes", locale)); if (secondsAware) { builder.appendSeconds(); builder.appendSuffix(" " + translationProvider.getTranslation("second", locale), " " + translationProvider.getTranslation("seconds", locale)); } if (millisecondsAware) { builder.appendMillis(); builder.appendSuffix(" " + translationProvider.getTranslation("millisecond", locale), " " + translationProvider.getTranslation("milliseconds", locale)); } this.formatter = builder.toFormatter().withLocale(locale); }
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 w w w . j a v a2 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(); }