Может ли кто-нибудь показать мне пример того, как правильно использовать getRelativeDateTimeString()
, который подробно описан здесь.
Android: пример getRelativeTime
Ответ 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 в этом случае, последний аргумент), которое вы можете использовать для управления обработкой результирующей строки, но вы должны проверить документы, чтобы узнать, что соответствует вашим потребностям.