如何将时间转换为小时分

问题描述 投票:0回答:1

我做了一个考勤应用。它将根据位置记录用户的出勤情况。我在数据库中有一个字段叫做 duration_attendance,该字段的数据类型为 TIME.

该字段将记录用户从上班到回家的出勤时间(例如:开始08:00.结束17:00.它将返回持续时间08:00)。

在服务器端,我可以实现它与。

Convert Time To Second : SELECT TIME_TO_SEC('05:15:40');
Convert Second To Hours minute : SELECT TIME_FORMAT(SEC_TO_TIME('48465'),'%Hh %im') // 13h 27m

我如何能将 时间 在飞镖方面的小时和分钟格式?

在我的情况下。出席时间 = 08:35 我想把它转换为8小时35分钟。

响应API

{
    "status": 1,
    "message": "Data Absensi Bulan 05 Tahun 2020",
    "data": [
        {
            "tanggal_absen": "2020-05-10",
            "jam_absen_masuk": "07:55:00",
            "jam_absen_pulang": "21:22:45",
            "durasi_absen": "13:27:45",
            "status": "o",
            "durasi_lembur": "04:22:45"
        },
        {
            "tanggal_absen": "2020-05-11",
            "jam_absen_masuk": "21:15:10",
            "jam_absen_pulang": "21:15:10",
            "durasi_absen": "00:00:00",
            "status": "a",
            "durasi_lembur": "00:00:00"
        },
        {
            "tanggal_absen": "2020-05-12",
            "jam_absen_masuk": "21:13:01",
            "jam_absen_pulang": "21:13:01",
            "durasi_absen": "00:00:00",
            "status": "a",
            "durasi_lembur": "00:00:00"
        }
    ]
}
dart
1个回答
0
投票

我的临时解决方案,我的情况。

使用格式time xx:xx:xx工作

enum TimeFormat { Jam, JamMenit, JamMenitDetik, Menit, MenitDetik, Detik }

String formatTimeTo(
    String time, {
    TimeFormat timeFormat,
  }) {
    String hour = time.replaceAll(":", "").substring(0, 2);
    String minute = time.replaceAll(":", "").substring(2, 4);
    String second = time.replaceAll(":", "").substring(4, 6);
    String resultHour, resultMinute, resultSecond;
    if (hour.startsWith("0")) {
      resultHour = hour.substring(1);
    } else {
      resultHour = hour;
    }
    if (minute.startsWith("0")) {
      resultMinute = minute.substring(1);
    } else {
      resultMinute = minute;
    }
    if (second.startsWith("0")) {
      resultSecond = second.substring(1);
    } else {
      resultSecond = second;
    }

    switch (timeFormat) {
      case TimeFormat.Jam:
        return "$resultHour Jam ";
        break;
      case TimeFormat.JamMenit:
        return "$resultHour Jam $resultMinute Menit";
        break;
      case TimeFormat.JamMenitDetik:
        return "$resultHour Jam $resultMinute Menit $resultSecond Detik";
        break;
      case TimeFormat.Menit:
        return "$resultMinute Menit";
        break;
      case TimeFormat.MenitDetik:
        return "$resultMinute Menit $resultSecond Detik";
        break;
      case TimeFormat.Detik:
        return "$resultSecond Detik";
        break;
      default:
        return "$resultHour Jam $resultMinute Menit $resultSecond Detik";
    }
  }

使用

print(globalF.formatTimeTo("08:05:55", timeFormat: TimeFormat.JamMenitDetik));
//8 Jam 5 Menit 55 Detik
© www.soinside.com 2019 - 2024. All rights reserved.