utils.dart 636 B

12345678910111213141516171819202122
  1. String formatDuration(Duration position) {
  2. final ms = position.inMilliseconds;
  3. int seconds = ms ~/ 1000;
  4. final int hours = seconds ~/ 3600;
  5. seconds = seconds % 3600;
  6. var minutes = seconds ~/ 60;
  7. seconds = seconds % 60;
  8. final hoursString = hours > 10 ? '$hours' : hours == 0 ? '00' : '0$hours';
  9. final minutesString =
  10. minutes > 10 ? '$minutes' : minutes == 0 ? '00' : '0$minutes';
  11. final secondsString =
  12. seconds > 10 ? '$seconds' : seconds == 0 ? '00' : '0$seconds';
  13. final formattedTime = '${hoursString == '00' ? '' : hoursString +
  14. ':'}$minutesString:$secondsString';
  15. return formattedTime;
  16. }