-
Notifications
You must be signed in to change notification settings - Fork 0
/
Angle_Between_Clock_Hands.js
45 lines (35 loc) · 1.22 KB
/
Angle_Between_Clock_Hands.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// Angle Between Clock Hands
// https://www.codewars.com/kata/angle-between-clock-hands
function handAngle(date) {
let hours = date.getHours()
let minutes = date.getMinutes()
if (minutes == 60) {
minutes = 0
hours += 1
}
if (hours == 12) {
hours = 0
}
let m = minutes * (360 / 60)
let h = 0.5 * (hours * 60 + minutes);
const a = Math.abs(h - m)
return Math.min(360 - a, a) / 57.295779513
}
// =============================================================================
// function makeDate(hours, minutes) {
// const date = new Date();
// date.setMinutes(minutes);
// date.setHours(hours);
// return handAngle(date)
// }
// console.log(makeDate(0, 0)) // 0.0);
// console.log(makeDate(12, 0)) // 0.0);
// console.log(makeDate(6, 0)) // 3.141592653589793);
// console.log(makeDate(1, 0)) // 0.5235987755982988);
// console.log(makeDate(9, 0)) // 1.5707963267948966);
// console.log(makeDate(10, 0)) // 1.0471975511965976);
// console.log(makeDate(0, 15)) // 1.4398966328953218);
// console.log(makeDate(0, 45)) // 1.9634954084936207);
// console.log(makeDate(12, 30)) // 2.8797932657906435);
// console.log(makeDate(7, 15)) // 2.2252947962927703);
// console.log(makeDate(6, 5)) // 2.6616271092913526);