Java: есть время эпохи, выведите, как давно в часах / днях / неделях произошло время

1

Я хочу напечатать "1h" или "1d" или "1y", в идеале все мои возможные строки принимают только 3 символа, т.е. "11h" или "11y",

Все мои объекты имеют эпоху, и я конвертирую это в объект Calendar

    Calendar calendar = new GregorianCalendar(Locale.getDefault());
    Date trialTime = new Date(time*1000);
    calendar.setTime(mTime);

Но теперь мне нужно знать, как давно это время было отныне.

 long currentTime = System.currentTimeMillis();

Если я получу разное текущее время и пройденное во времени, тогда я просто застрял бы с низким числом эпох, если бы я преобразовал это в объект календаря, тогда у меня будет просто старый год.

Моя следующая догадка заключается в том, чтобы принять эту разницу и определить, как долго это время, использует ли она дату или дату или календарь для помощи?

любое понимание

  • 0
    Вы проверили время Joda? Гораздо полезнее время / дата, чем у ваших стандартных java Date и Calendar классов
  • 0
    @Parasanger да, но я не уверен, что это необходимо для этого или как эта библиотека решает эту конкретную проблему
Показать ещё 4 комментария
Теги:
datetime
date
calendar
epoch

1 ответ

2
Лучший ответ

У Joda-Time есть умения, которые вам нужны.

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

  • 1
    Класс Period также может быть полезен в Joda-Time.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню