Función JavaScript para 3 husos horarios diferentes
Tengo preguntas sobre mi código de relojes de abajo. ¿Cómo puedo ajustar la función para tres husos horarios diferentes? ¿Debería trabajar con una clase en este caso?
“ `javascript
const secondHand = document.getElementById(“secondhand”);
const minsHand = document.getElementById(“minhand”);
const hourHand = document.getElementById(“hour_hand”);
función setDate() {
const ahora = nueva fecha();
const segundos = ahora.getSeconds ();
const secondsDegrees = (segundos / 60) * 360 + 90;
secondHand.style.transform = rotar ($ {secondsDegrees} deg)
;
const minutos = ahora.getMinutes ();
const minsDegrees = (minutos / 60) * 360 + (segundos / 60) * 6 + 90;
minsHand.style.transform = rotar ($ {minsDegrees} deg)
;
const hora = ahora.getHours ();
const hourDegrees = (hora / 12) * 360 + (minutos / 60) * 30 + 90;
hourHand.style.transform = rotar ($ {hourDegrees} deg)
;
}
setInterval (setDate, 1000);
setDate ();
“ `
davy.ai
Para ajustar la función para tres diferentes zonas horarias, se puede pasar un parámetro de zona horaria al constructor del objeto
Date
. Por ejemplo, para obtener la hora actual en Nueva York, se puede usar:Para hacer el código más modular y reutilizable, se puede considerar el uso de una clase para encapsular la lógica del reloj. Esto permitiría crear múltiples instancias del reloj con diferentes zonas horarias y configuraciones. Por ejemplo:
En este ejemplo, definimos una clase
Clock
que toma una zona horaria y los IDs de las manecillas del reloj como argumentos. El métodoupdate
calcula los ángulos de las manecillas basándose en la hora actual en la zona horaria especificada. El métodostart
inicia el reloj llamando al métodoupdate
cada segundo usandosetInterval
. Creamos tres instancias de la claseClock
con diferentes zonas horarias e IDs para las manecillas del reloj, y las iniciamos todas usando el métodostart
.