Joda-удалить секунды, миллисекунды из PeriodFormat.getDefault().print()?

У меня есть способ такой:

public static String getFormattedDateDifference(DateTime startDate, DateTime endDate) {
        Period p = new Period(startDate, endDate);
        return PeriodFormat.getDefault().print(p);
    }

Я хотел бы отрезать секунды и миллисекунды от печати. Как я могу это сделать?

1 ответов


если вы хотите только до минут, почему бы просто не указать правильный тип периода для начала?

private static final PeriodType PERIOD_TO_MINUTES = 
     PeriodType.standard().withSecondsRemoved().withMillisRemoved();

public static String getFormattedDateDifference(DateTime startDate,
                                                DateTime endDate) {

    Period p = new Period(startDate, endDate, PERIOD_TO_MINUTES);
    return PeriodFormat.getDefault().print(p);
}

Я ожидаю, что форматировать так, как вы хотите.

обратите внимание, что если эти действительно предназначенные для дат, вы, вероятно, должны использовать PeriodType.yearMonthDay() и укажите значения как LocalDate. DateTime должны использоваться для значений даты и времени, а не только даты.