math - 将圆的角度转换为以分钟为单位的时间

标签 math time geometry clock angle

我一直在尝试借助圆圈开发时钟控件。因此,如果圆圈是 360 度,则它是 3 点钟,如果它是 90 度,那么它将是 12 点钟。如果我有圆的角度,我无法弄清楚可以使用什么公式来找到 hh:mm 格式的时间。

例如。

9 点钟是 180 度。 3 点钟是 360 度 12 点是 90 度等等。

最佳答案

可能有更简洁的方法来执行此操作,但这是您需要做的。

  1. 计算时间的十进制值,使用3 - (1/30) * (angle mod 360)
  2. 如果结果小于零,则加 12。
  3. 将整数部分用作小时数,将值 0 替换为 12。
  4. 取余数(第 1 步计算的小数部分)并乘以 60 转换为分钟。
  5. 设置小时和分钟的格式,如果小于 10,则用前导零填充,并将它们与冒号组合。

Java 中的示例实现:

public static String convertAngleToTimeString(float angle) {
    String time = "";
    float decimalValue = 3.0f - (1.0f/30.0f) * (angle % 360);
    if (decimalValue < 0)
        decimalValue += 12.0f;

    int hours = (int)decimalValue;
    if (hours == 0)
        hours = 12;
    time += (hours < 10 ? "0" + hours: hours) + ":";
    int minutes = (int)(decimalValue * 60) % 60; 
    time += minutes < 10 ? "0" + minutes: minutes;
    return time;
}

关于math - 将圆的角度转换为以分钟为单位的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19056596/

相关文章:

java - 角度约束不适用于某些角度

java - 在计算中调用 Spinner 值时应用程序崩溃?

math - 几何:找到点两点之间的特定距离

javascript - javascript 中 Math.cos 函数将度数转换为弧度时出现问题

graphics - 使用位移贴图对球体进行光线追踪

math - 两个圆盘相交区域的均匀采样

bash - 代数逻辑

php - 根据进出时间计算迟到/早到时间

python - Django 时间字段格式

JavaScript - 使用本地时间提交表单