formatted property

String get formatted

Formats the duration as a readable string.

Implementation

String get formatted {
  int seconds = inSeconds;
  final days = seconds ~/ Duration.secondsPerDay;
  seconds -= days * Duration.secondsPerDay;
  final hours = seconds ~/ Duration.secondsPerHour;
  seconds -= hours * Duration.secondsPerHour;
  final minutes = seconds ~/ Duration.secondsPerMinute;
  seconds -= minutes * Duration.secondsPerMinute;

  final List<String> tokens = [];
  if (days != 0) {
    tokens.add('${days}d');
  }
  if (tokens.isNotEmpty || hours != 0) {
    tokens.add('$hours');
  }

  tokens.add('$minutes'.padLeft(2, '0'));

  tokens.add('$seconds'.padLeft(2, '0'));

  return tokens.join(':');
}