一尘不染

如何在Java中计算“time ago””?

java

在Ruby on Rails中,有一项功能允许你获取任何Date并打印出它的“很久以前”。

例如:

8 minutes ago
8 hours ago
8 days ago
8 months ago
8 years ago

有没有简单的方法可以在Java中做到这一点?


阅读 391

收藏
2020-03-07

共1个答案

一尘不染

看一下PrettyTime库。

使用起来非常简单:

import org.ocpsoft.prettytime.PrettyTime;

PrettyTime p = new PrettyTime();
System.out.println(p.format(new Date()));
// prints "moments ago"

你还可以传递国际化消息的语言环境:

PrettyTime p = new PrettyTime(new Locale("fr"));
System.out.println(p.format(new Date()));
// prints "à l'instant"

如评论中所述,Android在android.text.format.DateUtils类中内置了此功能。

2020-03-07