Подтвердить что ты не робот

Android: пример getRelativeTime

Может ли кто-нибудь показать мне пример того, как правильно использовать getRelativeDateTimeString(), который подробно описан здесь.

4b9b3361

Ответ 1

Я думаю, вы говорите о getRelativeDateTimeString, на что указывает ваша ссылка.

Пример для now, с комментариями, содержащими все параметры:

Date now = new Date();
String str = DateUtils.getRelativeDateTimeString(

        this, // Suppose you are in an activity or other Context subclass

        now.getTime(), // The time to display

        DateUtils.MINUTE_IN_MILLIS, // The resolution. This will display only 
                                        // minutes (no "3 seconds ago") 


        DateUtils.WEEK_IN_MILLIS, // The maximum resolution at which the time will switch 
                         // to default date instead of spans. This will not 
                         // display "3 weeks ago" but a full date instead

        0); // Eventual flags

Другие значения для MINUTE_IN_MILLIS и YEAR_IN_MILLIS включают:

  • SECOND_IN_MILLIS
  • MINUTE_IN_MILLIS
  • HOUR_IN_MILLIS
  • DAY_IN_MILLIS
  • WEEK_IN_MILLIS
  • YEAR_IN_MILLIS
  • Любое пользовательское значение в миллисекундах

Ответ 2

Я думаю, что лучший вопрос будет определять, что вы хотите в качестве вывода. Однако вот пример:

 DateUtils.getRelativeTimeSpanString(yourContext, theEventInMillis, 
                                     DateUtils.MINUTE_IN_MILLIS, 
                                     DateUtils.FORMAT_NO_NOON);

Это будет отформатировать theEventInMillis по отношению к текущему времени системы. Он покажет изменения в минутах (0 минут назад, 2 минуты назад, 3 часа назад, 1 день назад и т.д.) До тех пор, пока разница не достигнет недели, а затем просто опубликует полную дату. Поле flags (0 в этом случае, последний аргумент), которое вы можете использовать для управления обработкой результирующей строки, но вы должны проверить документы, чтобы узнать, что соответствует вашим потребностям.