package cz.agents.dbtokmlexporter.utils;
import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.TimeZone;
/**
*
* @author Marek Cuchy
*
*/
public class TimeUtils {
public static final String DURATION_PATTERN = "HH:mm:ss.SSS";
public static final String DURATION_WITH_TIME_PATTERN = "HH:mm:ss.SSS";
public static final String ACTUAL_TIME_PATTERN = "'Day'D-HH:mm:ss.SSS";
private static final TimeZone UTC_TIMEZONE = TimeZone.getTimeZone("UTC");
private static final SimpleDateFormat FORMAT = new SimpleDateFormat(DURATION_PATTERN);
static {
FORMAT.setTimeZone(UTC_TIMEZONE);
}
public static String formatDurationMillisToString(long millis) {
return formatMillisToString(millis, DURATION_PATTERN);
}
public static String formatActualTimeMillisToString(long millis) {
return formatMillisToString(millis, ACTUAL_TIME_PATTERN);
}
public static String formatMillisToString(long millis, String pattern) {
Date date = new Date(millis);
FORMAT.applyPattern(pattern);
return FORMAT.format(date);
}
public static String formatDurationWithDaysMillisToString(long millis) {
String format = formatMillisToString(millis, DURATION_WITH_TIME_PATTERN);
long days = millis / (24 * 3600 * 1000);
String daysString;
if (days == 1) {
daysString = "1 Day";
} else {
daysString = days + " Days";
}
return daysString + "-" + format;
}
}