Время форматирования с библиотекой PrettyTime
Обработка новостей RSS
каналы и пытается отобразить их с истекшим временем (как 2 минуты назад, 1 месяц назад). Я использую библиотеку PrettyTime для Android. Это прекрасно работает для таких форматов дат
<pubDate>Thu, 04 Jan 2018 11:00:16 +0000</pubDate>
,
Однако, если попытаться разобрать, в следующем формате
<updated>2017-12-30T11:10:44+00:00</updated>
приложение падает. Вот как я разбираю даты в RecyclerView
PrettyTime p = new PrettyTime(Locale.ENGLISH);
@Override
public void onBindViewHolder(final RecyclerViewAdapter.ViewHolder holder, int position) {
setupImageLoader();
final News newsItem = newsItems.get(position);
String imgUrl = newsItem.getNewsImage();
holder.date_updated.setText(p.format(new Date(newsItem.getUpdated())));
holder.title.setText(newsItem.getTitle());
Любые идеи, как я могу решить эту проблему? Спасибо!
1 ответ
Это потому что Date
класс не понял данный формат даты. Вы можете использовать класс SimpleDateFormat для разбора даты. Для вашего примера код будет следующим:
SimpleDateFormat format = new SimpleDateFormat("y-MM-dd'T'H:m:ssXXX");
Date date = new Date(format.parse(newsItem.getUpdated()));