001package org.hl7.fhir.utilities; 002 003import java.util.concurrent.TimeUnit; 004 005public class DurationUtil { 006 public static String presentDuration(long duration) { 007 duration = duration / 1000000; 008 String res = ""; // ; 009 long days = TimeUnit.MILLISECONDS.toDays(duration); 010 long hours = TimeUnit.MILLISECONDS.toHours(duration) - 011 TimeUnit.DAYS.toHours(TimeUnit.MILLISECONDS.toDays(duration)); 012 long minutes = TimeUnit.MILLISECONDS.toMinutes(duration) - 013 TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(duration)); 014 long seconds = TimeUnit.MILLISECONDS.toSeconds(duration) - 015 TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(duration)); 016 long millis = TimeUnit.MILLISECONDS.toMillis(duration) - 017 TimeUnit.SECONDS.toMillis(TimeUnit.MILLISECONDS.toSeconds(duration)); 018 019 if (days > 0) 020 res = String.format("%dd %02d:%02d:%02d.%03d", days, hours, minutes, seconds, millis); 021 else if (hours > 0) 022 res = String.format("%02d:%02d:%02d.%03d", hours, minutes, seconds, millis); 023 else // 024 res = String.format("%02d:%02d.%03d", minutes, seconds, millis); 025// else 026// res = String.format("%02d.%04d", seconds, millis); 027 return res; 028 } 029}