2016-07-15 77 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