private static String fromTime(long time) {
		int days = (int) TimeUnit.MILLISECONDS.toDays(time);
		int hours = (int) TimeUnit.MILLISECONDS.toHours(time - TimeUnit.DAYS.toMillis(days));
		int minutes = (int) TimeUnit.MILLISECONDS.toMinutes(time - TimeUnit.DAYS.toMillis(days) - TimeUnit.HOURS.toMillis(hours));
		int seconds = (int) TimeUnit.MILLISECONDS.toSeconds(time - TimeUnit.DAYS.toMillis(days) - TimeUnit.HOURS.toMillis(hours) - TimeUnit.MINUTES.toMillis(minutes));
		int milliseconds = (int) (time - TimeUnit.DAYS.toMillis(days) - TimeUnit.HOURS.toMillis(hours) - TimeUnit.MINUTES.toMillis(minutes) - TimeUnit.SECONDS.toMillis(seconds));
		StringBuilder builder = new StringBuilder();
		if(days > 0)
			builder.append(days).append('d');
		if(hours > 0)
			builder.append(hours).append('h');
		if(minutes > 0)
			builder.append(minutes).append('m');
		if(seconds > 0)
			builder.append(seconds).append('s');
		if(milliseconds > 0 || builder.length() == 0)
			builder.append(milliseconds).append("ms");
		return builder.toString();
	}