Mi problema es el siguiente, tengo una base de datos mysql de la cual saco datos con PHP, y uno de ellos es la zona horaria de el usuario, ahora, tengo un reloj javascript que me calcula el tiempo en horario GMT ó UTC o Zulu (como le quieran llamar, es lo mismo), el codigo de ese reloj es el siguiente:
Código:
Esto funciona perfectamente, solamente que quiero que cuando el usuario este loggeado se cambie la zona horaria de GMT a la zona horaria que este en la base de datos, ya que, el usuario puede cambiar esa zona horaria y por lo tanto la zona horaria podria ser diferente entre la base de datos y la de el cliente, por tanto no me serviria sacar el reloj con la zona del cliente.<script type="text/javascript"> function gmtClock(){ time = new Date() gmtMS = time.getTime() + (time.getTimezoneOffset() * 60000) gmtTime = new Date(gmtMS) hour = gmtTime.getHours() minute = gmtTime.getMinutes() second = gmtTime.getSeconds() temp = "" + ((hour < 10) ? "0" : "") + hour temp += ((minute < 10) ? ":0" : ":") + minute temp += ((second < 10) ? ":0" : ":") + second document.clockForm.digits.value = temp + " GMT" setTimeout("gmtClock()",1000) } </script>
El php se encarga de verificar si el usuario esta loggeado o no y cambia entre el script anterior a el script que no me funciona, que es el que necesito que cambie con la zona horaria, para no hacerlos bolas les pongo el codigo completo:
Código PHP:
<?php
if($session->loggeado){
?>
<script type="text/javascript">
function gmtClock(){
horar = <?php echo $session->infoUsuario['horario'] * 60; ?>;
time = new Date()
gmtMS = time.getTime() + (horar * 60000)
gmtTime = new Date(gmtMS)
hour = gmtTime.getHours()
minute = gmtTime.getMinutes()
second = gmtTime.getSeconds()
temp = "" + ((hour < 10) ? "0" : "") + hour
temp += ((minute < 10) ? ":0" : ":") + minute
temp += ((second < 10) ? ":0" : ":") + second
document.clockForm.digits.value = temp + " GMT " + <?php echo $session->infoUsuario['horario']; ?>;
setTimeout("gmtClock()",1000)
}
</script>
<?php
}
else{
?>
<script type="text/javascript">
function gmtClock(){
time = new Date()
gmtMS = time.getTime() + (time.getTimezoneOffset() * 60000)
gmtTime = new Date(gmtMS)
hour = gmtTime.getHours()
minute = gmtTime.getMinutes()
second = gmtTime.getSeconds()
temp = "" + ((hour < 10) ? "0" : "") + hour
temp += ((minute < 10) ? ":0" : ":") + minute
temp += ((second < 10) ? ":0" : ":") + second
document.clockForm.digits.value = temp + " GMT"
setTimeout("gmtClock()",1000)
}
</script>
<?php
}
?>
Porfavor ayudenme llevo dias rompiendome la cabeza por solucionar esto y nadamas no encuentro nada en internet.
Gracias y Saludos