@Override protected String formatDate(DateTime now, DateTime then) { StringBuffer text = new StringBuffer(); if (hasFormat(YEARS)) { formatYears(now, then, text); } else if (hasFormat(MONTHS)) { formatMonths(now, then, text); } else if (hasFormat(DAYS)) { formatDays(now, then, text); } if (hasFormat(TIME)) { StringBuilder pattern = new StringBuilder(); if ((format & HOURS) != 0) pattern.append("hh"); if ((format & MINUTES) != 0) pattern.append(pattern.length() == 0 ? "mm" : ":mm"); if ((format & SECONDS) != 0) pattern.append(pattern.length() == 0 ? "ss" : ":ss"); text.append(", " + DateTimeFormat.forPattern(pattern.toString()).print(then.toInstant())); } return text.toString(); }