在 dart 中将秒转换为 mm:ss

cus*_*pps 5 dart flutter

我想将秒转换为 HH:SS 格式的分钟和秒,但我的逻辑没有给我我想要的。

  static double toMin (var value){
            return (value/60);
          }
Run Code Online (Sandbox Code Playgroud)

我还希望能够将余数添加到分钟值中,因为有时我的除法给出的秒值大于 60,这是不准确的

jam*_*lin 9

班级可以为您完成大部分工作Duration。

var minutes = Duration(seconds: seconds).inMinutes;
Run Code Online (Sandbox Code Playgroud)

您可以通过执行以下操作来生成String格式mm:ss:

String formatDuration(int totalSeconds) {
  final duration = Duration(seconds: totalSeconds);
  final minutes = duration.inMinutes;
  final seconds = totalSeconds % 60;

  final minutesString = '$minutes'.padLeft(2, '0');
  final secondsString = '$seconds'.padLeft(2, '0');
  return '$minutesString:$secondsString';
}
Run Code Online (Sandbox Code Playgroud)

也就是说,我建议不要使用某种mm:ss格式,因为在没有上下文的情况下,不清楚“12:34”是否代表 12 分 34 秒或 12 小时 34 分钟。我建议改用 12m34s,这是明确的。


小智 -1

static String formatYMDHMSBySeconds(int milliseconds) {
    if (milliseconds == null) {
        return '';
    }

    DateTime dateTime = DateTime.fromMillisecondsSinceEpoch(milliseconds);
    return DateFormat("yyyy-MM-dd HH:mm:ss").format(dateTime);
}
Run Code Online (Sandbox Code Playgroud)