format Millis Into Human Readable
class Calculator {
private static final long MILLISECONDS = 1000;
private static final long SECONDS = 60;
private static final long MINUTES = 60;
public static String calculateETA(double size, double speed) {
if (speed <= 0) {
return "---";
}
size *= 1024;
double eta = (size / speed) * MILLISECONDS;
return formatMillisIntoHumanReadable(Math.round(eta));
}
private static String formatMillisIntoHumanReadable(long time) {
time /= MILLISECONDS;
int seconds = (int) (time % SECONDS);
time /= SECONDS;
int minutes = (int) (time % MINUTES);
time /= MINUTES;
int hours = (int) (time % 24);
int days = (int) (time / 24);
if (days == 0) {
return String.format("%d:%02d:%02d", hours, minutes, seconds);
} else {
return String.format("%dd%d:%02d:%02d", days, hours, minutes,
seconds);
}
}
}
Related examples in the same category
1. | Write Date to AudioTrack | | |
2. | Represents a date using an integer, in a similar fashion to the implementation in Microsoft Excel. | | |
3. | A formatter that formats dates to show the elapsed time relative to some base date. | | |
4. | Iso Date | | |
5. | Get the string of the date using format "yyyy-MM-dd HH:mm:ss" | | |
6. | Parse a string that contains date, return a date object using format "yyyy-MM-dd HH:mm:ss" | | |
7. | Create Date from timestamp | | |
8. | Convert date in RFC2822 and UTC strings, and to build Date from string of dates in RFC2822 and UTC format | | |
9. | Gets a "HH:mm:ss.SSS EEE dd MMM yyyy" representation of a Date | | |
10. | Gets a "yyyy MMM dd, HH:mm:ss.SSS" representation of a Date | | |
11. | Gets a "EEE, dd MMM yyyy hh:mm:ss 'GMT'" representation of a Date | | |
12. | Parses a String for a "EEE, dd MMM yyyy hh:mm:ss 'GMT'" formatted Date | | |
13. | Formatting and parsing the various date formats we expect to encounter. | | |
14. | ISO8601, ISO8601, RFC822 Date format | | |
15. | Easter Date | | |
16. | Parse Date | | |
17. | compare Two dates with Day value | | |
18. | compare Two dates with Second value | | |
19. | Get start of a date | | |
20. | Get start date of a Month | | |
21. | Get start date of a year | | |
22. | Create date from year, month and day value | | |
23. | Create Date from year, month, day, hour, minute, second | | |
24. | Get year value from Date | | |
25. | Get Month value from Date | | |
26. | Get Day value from Date | | |
27. | Get now in Date and Millis-seconds | | |
28. | Add day, Month and year to a Date | | |
29. | Parse date in format of yyyyMMddHHmmss or yyyyMMdd | | |
30. | String to Date | | |
31. | Convert date value in long to YYYYMMDDHHMMSS format | | |
32. | Convert Date to Number | | |
33. | Get short and long date String | | |
34. | Convert Java Date To Xml Time | | |
35. | Convert dates to Julian dates. | | |
36. | Parse an RFC 822 date string. | | |
37. | Format a date into a format suitable for SQLite | | |
38. | Dot String to Date | | |
39. | Parses an RFC822 formatted date string. | | |
40. | Formats a Date according to RFC822. | | |
41. | DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(date); | | |
42. | yyyy-MM-dd HH:mm:ss date format | | |
43. | Utility class for formatting and parsing the various date formats we expect to encounter. | | |
44. | Get a string representation of a date as it relates to the current time. | | |
45. | get Date String from milliseconds | | |
46. | Generate a ISO 8601 date | | |
47. | Generate a Calendar from ISO 8601 date | | |
48. | parse Date for list of possible formats | | |
49. | date To String | | |
50. | Get date string for Locale tr | | |
51. | RFC3339 Date | | |
52. | Date formats | | |
53. | build Date Format day-of-week Short | | |
54. | Get end of each day | | |
55. | Get the end of each Month | | |
56. | Get end of a year | | |
57. | calculate Month Distance | | |
58. | calculate Day Distance | | |
59. | The month, and just the month, is zero-based. Add 1 for display. | | |
60. | Get hour different | | |