You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

22 lines
630 B

String formatDuration(Duration position) {
final ms = position.inMilliseconds;
int seconds = ms ~/ 1000;
final int hours = seconds ~/ 3600;
seconds = seconds % 3600;
var minutes = seconds ~/ 60;
seconds = seconds % 60;
final hoursString = hours >= 10 ? '$hours' : hours == 0 ? '00' : '0$hours';
final minutesString =
minutes >= 10 ? '$minutes' : minutes == 0 ? '00' : '0$minutes';
final secondsString =
seconds >= 10 ? '$seconds' : seconds == 0 ? '00' : '0$seconds';
final formattedTime =
'${hoursString == '00' ? '' : hoursString + ':'}$minutesString:$secondsString';
return formattedTime;
}