2016-07-15 76 views
2

我做这行代码:X分钟和Y秒前

(DateUtils.getRelativeDateTimeString(getActivity().getApplicationContext(), seconds, DateUtils.SECOND_IN_MILLIS, DateUtils.WEEK_IN_MILLIS, DateUtils.FORMAT_ABBREV_TIME)).toString(); 

当3秒已通过返回:

3 seconds ago 

当125秒已通过返回:

2 minutes ago 

是否可以更改此代码返回:

2 minutes and 5 seconds ago 

而不是2分钟前?怎么样?

谢谢。

回答

2
String.format(Locale.getDefault(), " %d min: %d sec ago", 
           TimeUnit.MILLISECONDS.toMinutes(millis), 
           TimeUnit.MILLISECONDS.toSeconds(millis) - 
              TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis))) 

这retruns像例如2 min : 15 sec ago 格式的时间,其中millis是在毫秒级的时间

编辑:的天数和小时

int day = (int) TimeUnit.SECONDS.toDays(millis); 
    long hours = TimeUnit.SECONDS.toHours(millis) - (day * 24); 
    long minutes = TimeUnit.SECONDS.toMinutes(millis) - (TimeUnit.SECONDS.toHours(millis) * 60); 
    long seconds = TimeUnit.SECONDS.toSeconds(millis) - (TimeUnit.SECONDS.toMinutes(millis) * 60); 

    String time = String.valueOf(day) + " Days " + String.valueOf(hours) + " Hours " + 
      String.valueOf(minutes) + " Minutes " + String.valueOf(seconds) + " Seconds."; 

这种方式可以得到几天甚至几年..

+0

但是w ith该代码我不能有天数周... – tomss

+0

是的..它只是一个示例,以显示你..你也可以使'天''小时'.. @tomss。让我知道如果你需要代码 – Sanoop

+0

@tomss,如果你得到了没有天......你可以很容易地设置“周”属性.. – Sanoop