java:有纪元时间,打印多久以前的小时/天/周时间发生

时间:2014-05-01 22:09:55

标签: java date datetime calendar epoch

我想打印" 1h"或" 1d"或" 1y" ,理想情况下,我所有可能的字符串只需要3个字符,即" 11h"或" 11y"

我的所有对象都有一个纪元时间,我将其转换为Calendar对象

    Calendar calendar = new GregorianCalendar(Locale.getDefault());
    Date trialTime = new Date(time*1000);
    calendar.setTime(mTime);

但现在我需要知道从现在起多久以前的时间。

 long currentTime = System.currentTimeMillis();

如果我得到当前时间和传入时间的不同,那么我只会被一个低纪元数字所困,如果我将其转换为日历对象,那么我只会随意过去的一年。

我的下一个预感是采取这种差异并确定多长时间,这会使用日期或日期时间或日历对象来寻求帮助吗?

任何有识之士

1 个答案:

答案 0 :(得分:2)

Joda-Time拥有您需要的聪明才智。

如果您在对象时间之间的抽搐中获取增量时间,则可以使用Duration来获取小时数,天数等。