in data/src/main/java/com/microsoft/azure/kusto/data/Utils.java [88:110]
public static String formatDurationAsTimespan(Duration duration) {
long durationInSeconds = duration.getSeconds();
int nanos = duration.getNano();
long hours = TimeUnit.SECONDS.toHours(durationInSeconds) % TimeUnit.DAYS.toHours(1);
long minutes = TimeUnit.SECONDS.toMinutes(durationInSeconds) % TimeUnit.HOURS.toMinutes(1);
long seconds = durationInSeconds % TimeUnit.MINUTES.toSeconds(1);
long days = TimeUnit.SECONDS.toDays(durationInSeconds);
String absoluteVal = "";
if (days != 0) {
absoluteVal += String.format("%02d.", days);
}
absoluteVal += String.format(
"%02d:%02d:%02d",
hours,
minutes,
seconds);
if (nanos != 0) {
absoluteVal += String.format(".%.3s", nanos);
}
return durationInSeconds < 0 ? "-" + absoluteVal : absoluteVal;
}