在 Ruby on Rails 中,有一个功能允许您获取任何日期并打印出它是“多久以前”的。
例如:
8 minutes ago
8 hours ago
8 days ago
8 months ago
8 years ago
有没有一种简单的方法可以在 Java 中做到这一点?
原文由 jts 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Ruby on Rails 中,有一个功能允许您获取任何日期并打印出它是“多久以前”的。
例如:
8 minutes ago
8 hours ago
8 days ago
8 months ago
8 years ago
有没有一种简单的方法可以在 Java 中做到这一点?
原文由 jts 发布,翻译遵循 CC BY-SA 4.0 许可协议
您是否考虑过 TimeUnit 枚举?它对这种事情非常有用
try {
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
Date past = format.parse("01/10/2010");
Date now = new Date();
System.out.println(TimeUnit.MILLISECONDS.toMillis(now.getTime() - past.getTime()) + " milliseconds ago");
System.out.println(TimeUnit.MILLISECONDS.toMinutes(now.getTime() - past.getTime()) + " minutes ago");
System.out.println(TimeUnit.MILLISECONDS.toHours(now.getTime() - past.getTime()) + " hours ago");
System.out.println(TimeUnit.MILLISECONDS.toDays(now.getTime() - past.getTime()) + " days ago");
}
catch (Exception j){
j.printStackTrace();
}
原文由 Ben J 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.1k 阅读
8 回答5.9k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
1 回答2.1k 阅读✓ 已解决
查看 PrettyTime 库。
使用起来非常简单:
您还可以为国际化消息传入语言环境:
如评论中所述,Android 已将此功能内置到
android.text.format.DateUtils
类中。