formatDuration static method

String formatDuration(
  1. Duration duration
)

For example, for 42 milliseconds

DiveFormat.formatDuration(Duration(milliseconds: 42));

will return '0.042'

Implementation

static String formatDuration(Duration duration) {
  var date = DateTime(0).add(duration);

  DateFormat formatter;
  if (duration.compareTo(const Duration(seconds: 1)) < 0) {
    formatter = formatterShortest;
  } else if (duration.compareTo(const Duration(minutes: 1)) < 0) {
    // Round the milliseconds up to the next second.
    date = date.add(const Duration(milliseconds: 500));
    formatter = formatterShort;
  } else if (duration.compareTo(const Duration(hours: 1)) < 0) {
    formatter = formatterMedium;
  } else {
    formatter = formatterLong;
  }

  String formatted = formatter.format(date);
  return formatted;
}