【问题标题】:Flutter - Converting minutes into H:MFlutter - 将分钟转换为 H:M
【发布时间】:2019-11-16 23:36:16
【问题描述】:

我正在寻找一种将分钟转换为小时和分钟的方法。我通过DateFormat 使用intl 包,但这需要hoursminutes,所以它不会这样做。

如果我有 100 分钟,我希望将其转换为 01:40。谢谢

【问题讨论】:

    标签: datetime flutter dart intl


    【解决方案1】:

    这行得通吗?

    String durationToString(int minutes) {
        var d = Duration(minutes:minutes);
        List<String> parts = d.toString().split(':');
        return '${parts[0].padLeft(2, '0')}:${parts[1].padLeft(2, '0')}';
    }
    
    print(durationToString(100)); //returns 01:40
    

    【讨论】:

    • 我需要能够将一个变量传递给它,我无法将 dint 更改为 int,因为我得到了 Only valid value is 0:1
    • @Jake 我更新了它以更符合原始要求。希望它有所帮助,否则我可能需要更多信息来理解这个问题。
    【解决方案2】:

    这对你有用

    
    String getTimeString(int value) {
      final int hour = value ~/ 60;
      final int minutes = value % 60;
      return '${hour.toString().padLeft(2, "0")}:${minutes.toString().padLeft(2, "0")}';
    }
    

    【讨论】:

    • 在我看到socasanta 的答案之前发布了这个。这可能是更好的实现
    • 从来不知道 ~ 或 .padLeft()。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-01
    • 2015-05-18
    • 2013-04-10
    • 1970-01-01
    • 2014-12-01
    • 2015-07-20
    • 2022-11-14
    相关资源
    最近更新 更多