题目
请计算出时钟的时针和分针的角度(两个角度的较小者)。时间以HH:mm的格式传入。
示例:
- angle(‘12:00’) // 0
-
思路
每分钟6度
- 每小时30度
const angle = (str) => {
let arr = str.split(":")
arr = arr.map(item => Number(item))
// 每分钟6度
const minus = arr[1] * 6
// 对12取余数,防止12点整
// 每小时30度
// (小时 + 30分钟转换成小时) * 小时度数
const hourAngle = (arr[0] % 12 + arr[1] / 60) * 30
const diff = Math.abs(hourAngle - minus)
return Math.min(diff, 360 - diff)
}
console.log(angle('12:15'))