Dart & Flutter:将持续时间转换为 HH:mm:ss 格式
在使用 Dart 和 Flutter 时,您可能希望将 Duration 转换为HH:mm:ss格式的字符串:
- mm: 分钟为 00 到 59 的 2 位数字
- ss:秒为 00 到 59 的 2 位数字
尽管 Dart 没有提供开箱即用的 API 来帮助我们完成工作,但我们只需几行代码就可以自己完成。让我们创建一个名为formatDuration的可重用函数,如下所示
// Define the function
String formatDuration(Duration duration) {
String hours = duration.inHours.toString().padLeft(0, '2');
String minutes = duration.inMinutes.remainder(60).toString().padLeft(2, '0');
String seconds = duration.inSeconds.remainder(60).toString().padLeft(2, '0');
return "$hours:$minutes:$seconds";
}
// Try it
void main() {
const durationOne = Duration(minutes: 900, seconds: 3);
const durationTwo = Duration(seconds: 19999);
const durationThree = Duration(days: 2, seconds: 1234);
print(formatDuration(durationOne));
print(formatDuration(durationTwo));
print(formatDuration(durationThree));
}
15:00:03
5:33:19
48:20:34