randRange( 1, 12 ) randRange( 0, 11 ) * 5 MINUTE > 5 ? MINUTE : "0" + "" + MINUTE icu.getDateFormatSymbols().am_pm[HOUR >= 7 ? 0 : 1]

¿Qué hora es?

init({range:[[-4,4],[-4,4]],scale:25}),clock=addAnalogClock({hour:HOUR,minute:MINUTE,minuteTicks:0,showLabels:!1}),clock.draw()
init({range:[[-5,5],[-3,3]],scale:25})

La hora es:
HOUR : NICE_MINUTE AM_PM

un tiempo de 12 horas en horas y minutos

clock.drawLabels()
path([[-3,-1],[3,-1],[3,1],[-3,1],[-3,-1]]),graph.time=label([0,-.1],"\\Huge{\\phantom{00}:\\phantom{00}}","center")

La manecilla pequeña es para las horas, y la manecilla grande es para los minutos.

La manecilla de las horas apunta a HOUR, así que la hora es HOUR.

La manecilla de las horas está entre HOUR y HOUR + 1 === 13 ? 1 : HOUR + 1, así que la hora es HOUR.

La manecilla de las horas esta cerca pero no ha pasado HOUR + 1 === 13 ? 1 : HOUR + 1, así que la hora sigue siendo HOUR.

graph.time.remove();var padding=10>HOUR?"\\phantom{0}":"";graph.time=label([0,-.1],"\\Huge{"+padding+HOUR+":\\phantom{00}}","center")

La manecilla de los minutos comienza apuntando directamente a los 0 minutos, y recorre un ciclo completo en 1 hora (pasando por los 12 números en 60 minutos).

Por cada número por el que ha avanzado la manecilla de los minutos agrega \dfrac{60}{12} = 5 minutos.

La manecilla de los minutos está apuntando al (MINUTE / 5) === 0 ? 12: MINUTE / 5 , que representa 05 \times (MINUTE / 5) === 0 ? 12: MINUTE / 5 = MINUTE minutos.

graph.time.remove();var padding=10>MINUTE?"0":"";graph.time=label([0,-.1],"\\Huge{"+HOUR+":"+padding+MINUTE+"}","center")

La hora es HOUR:NICE_MINUTE.