toReadableString method
toReadableString will return the duration in a human-readable format like "01:02:03" if the "HH" is zero, it will return only minutes and seconds example:
Duration(seconds: 123).toReadableString() // 01:02:03
Duration(seconds: 50034).toReadableString() // 02:04:14
Implementation
String toReadableString() {
var blocks = <String>[];
int hours = inHours.remainder(24);
int minutes = inMinutes.remainder(60);
int seconds = inSeconds.remainder(60);
if (hours > 0) {
blocks.add(
"${hours.toString().padLeft(2, "0")}:${minutes.toString().padLeft(2, "0")}:${seconds.toString().padLeft(2, "0")}");
}
blocks.addAll([
minutes.toString().padLeft(2, "0"),
seconds.toString().padLeft(2, "0")
]);
return blocks.join(":");
}