java - 使用 PrettyTime 库格式化时间

标签 java android date prettytime

处理新闻RSS feeds 并尝试将其与耗时一起显示(例如 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());

有什么想法可以解决这个问题吗?谢谢!!

最佳答案

那是因为 Date 类不理解给定的日期格式。您可以使用SimpleDateFormat解析日期的类。对于您的示例代码将是下一个:

SimpleDateFormat format = new SimpleDateFormat("y-MM-dd'T'H:m:ssXXX");
Date date = new Date(format.parse(newsItem.getUpdated()));

关于java - 使用 PrettyTime 库格式化时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48095001/

相关文章:

android - 在 Google Play 上发布应用程序后更改名称是否可取?

MYSQL CURDATE() -7 在 1 月 1 日询问时省略 12 月的天数

java - 在 Chrome 的 Vaadin 子窗口中显示嵌入的 PDF

java - 防止 JavaFX 窗口窃取焦点

android - DialogFragment.onDismiss()中的空指针异常

javascript - 如何在日期中减去年份并添加月份?

swift - 在 Swift 中创建特定时间的本地日期

java - 解决两个几何实例之间的碰撞(墙壁滑动)

java - 使用 .equals() 比较两个字符串不起作用

xml - Android XML 布局指南