计算dart中两次之间的小时/分钟

blu*_*492 0 datetime dart flutter

我想获取/计算 dart 中两次之间的小时和分钟。示例:如果 start_time 为 17:30,end_time 为 09:00(后一天),则应返回总计:15 小时 30 分钟

我的代码:

check_two_times_is_before(String start_time, String end_time){
    var format = DateFormat("HH:mm");
    var start = format.parse(start_time);
    var end = format.parse(end_time);

    if(start.isAfter(end)) {
     // do something here
    }
  }

Run Code Online (Sandbox Code Playgroud)

Pio*_*nix 6

您可以在类difference上使用方法DateTime

check_two_times_is_before(String start_time, String end_time){
    var format = DateFormat("HH:mm");
    var start = format.parse(start_time);
    var end = format.parse(end_time);

    if(start.isAfter(end)) {
       end = end.add(Duration(days: 1));
       Duration diff = end.difference(start);
       final hours = diff.inHours;
       final minutes = diff.inMinutes % 60;
       print('$hours hours $minutes minutes');
    }
}
Run Code Online (Sandbox Code Playgroud)