如何在Java中以人类可读的格式显示时间?

时间:2015-09-19 06:11:26

标签: java calendar logic

我正在制作一个逻辑,在一种方法中我得到时间毫秒。 我想展示如下:

if time is b/w 1 minutes - 60 minutes, lets say 25 minutes it will show - 25 minute
if time is 1 hour and 59 minutes it will show - 1h+
later if its 2 hour than it will show - 2h+
this will continue to 24 hour.
later if its one day and few hours than it will show - 1d+
this will be continue till week and later on week, months and year like 
    1h+..... 1d,
    1d+..... 1w,
    1w+..... 1m,
    1m+..... 1y, 1y+..

如果不这样,我就无法使用更多。我需要这种方法的良好表现。

2 个答案:

答案 0 :(得分:0)

你可以写几个if和#创建毫秒范围的表,比如使用具有键和值的concurrenthashmap。如果您的毫秒范围在0到60000毫秒之间,则在哈希映射中创建一个秒键和值,类似于60000到3600000,在其中创建一个分钟和值的键同样可以使用适当的范围和它的值。

答案 1 :(得分:0)

你可以使用java.util.concurrent.TimeUnit类,它的方法是秒(长持续时间),toMinutes(长持续时间),toHiurs(长持续时间)....将毫秒转换为秒,分钟,小时,天等等。

示例:`TimeUnit.MILLISECONDS.toMinutes(millis);