问题描述
我需要计算两个日期之间经过的时间。
I need to calculate the time passed between two dates.
下面美中不足的是,我需要表现出来如YouTube确实有它的视频评论时间戳。也就是说,仅通过最大的测量证明这一点。
The catch here is that I need to show it as YouTube does with its video comments timestamps. That is, to show it by just the largest measure.
例如,
- 如果时间为50秒前,应该说50秒前。
- 如果该时间超过一分钟,应该说一分钟前/ 10分前等。
- 如果时差为1小时30分钟就应该显示:一小时前
- 如果时间是一个半星期比,应该说一个星期前。
- 如果时间超过一个月,应该说在一个月前/两个月前等...
- 等等等等..
那么,什么是处理这个最好的方法是什么?我应该与情况
或如果
语句,将返回类似这样的方法?还是有更好的方法(也许它已经做类似的东西一库)?
So what is the best way to handle this?Should I make a method with case
or if
statements that would return something like this? Or is there a better approach (maybe a library which already does something like it)?
推荐答案
使用DateUtils.getRelativeTimeSpanString(long时间长了,长minResolution)。 时间
的开始时间,而现在
的结束时间(毫秒)。要报告秒前,设置minResolution为零。
Use DateUtils.getRelativeTimeSpanString(long time, long now, long minResolution). time
is the start time, and now
is the end time (in milliseconds). To report "seconds ago," set minResolution to zero.
例如:
String result = DateUtils.getRelativeTimeSpanString(1306767830, 1306767835, 0);
// result = "5 seconds ago"
这篇关于java的计算两个时间戳之间的时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!