@Override public String toString() { if (mMilliseconds == 0) return "0 ms"; StringBuffer buffer = new StringBuffer(); long value = append(buffer, YEAR_IN_MILLIS, "year", mMilliseconds, true, true); value = append(buffer, DAY_IN_MILLIS, "day", value, true, true); value = append(buffer, HOUR_IN_MILLIS, "hour", value, true, true); value = append(buffer, MINUTE_IN_MILLIS, "minute", value, true, true); value = append(buffer, SECOND_IN_MILLIS, "second", value, true, true); append(buffer, 1, "millisecond", value, true, true); if (mMilliseconds > 1000) { buffer.append("("); buffer.append(mMilliseconds); buffer.append(" ms)"); } return buffer.toString(); }