powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Вывод даты в формате: час назад, день назад, неделя 1 час назад
4 сообщений из 4, страница 1 из 1
Вывод даты в формате: час назад, день назад, неделя 1 час назад
    #38446314
Zhazhah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, подскажите каким образом такое реализовать, например:
Есть дата регистрации и текущая дата, как вычислить разницу и форматировать в:

1 час
2 часа
...
1 день
2 дня
....
1 неделя 1 день
1 неделя 2 дня
...


и так далее?

Я вот реализовал, жалкое подобие того что хочу

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
        String sourceDate = "2013-10-30 08:10:20";
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        Date create = format.parse(sourceDate);
 
        long time = System.currentTimeMillis() - create.getTime();
        long day = (time / (1000 * 60 * 60 * 24));
        long hour = (time / (1000 * 60 * 60));
        long minute = (((time) / (1000 * 60)) % 60);
        String string = "";
 
        if (day == 0) {
 
            if (hour > 0) {
                if (hour == 1) {
                    string = "Час ";
                } else if (hour == 21) {
                    string = hour + " час ";
                } else if ((hour >= 2 && hour <= 4) || (hour >= 22 && hour <= 24)) {
                    string = hour + " часa ";
                } else if (hour >= 5 && hour <= 20) {
                    string = hour + " часов ";
                }
                string = string + "";
            } else {
                if (minute > 0) {
                    string = minute + " мин";
                } else {
                    string = "Только что";
                }
            }
        } else {
            string = new SimpleDateFormat("d MMM yy в HH:mm").format(create);
        }
...
Рейтинг: 0 / 0
Вывод даты в формате: час назад, день назад, неделя 1 час назад
    #38446324
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не в каждых сутках 24 часа.
Используй http://www.joda.org/joda-time/
Этот API вроде включили в Java 8.
...
Рейтинг: 0 / 0
Вывод даты в формате: час назад, день назад, неделя 1 час назад
    #38446795
mesier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz с языка снял ответ.. ))
В фрэймворке есть готовые функции minusHours, minusMonths и так далее.
...
Рейтинг: 0 / 0
Вывод даты в формате: час назад, день назад, неделя 1 час назад
    #38446931
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
    public static String hoursText(long сount) {
        if (сount < 0) {
            сount = -сount;
        }
        int ost = (int) (сount % 100);
        if ((ost > 10) && (ost < 20)) {
            return "часов";
        } else {
            switch (ost % 10) {
                case 1:
                    return "час";
                case 2:
                case 3:
                case 4:
                    return "часа";
                default:
                    return "часов";
            }
        }
    }
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Вывод даты в формате: час назад, день назад, неделя 1 час назад
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]