Foros del Web » Programando para Internet » Javascript »

Hora local

Estas en el tema de Hora local en el foro de Javascript en Foros del Web. Hola a todos: Estoy interesada en poner en mi página web la fecha y hora local, es decir que algún visitante de otro pais de ...
  #1 (permalink)  
Antiguo 19/02/2003, 11:44
Avatar de ABAROA  
Fecha de Ingreso: junio-2002
Ubicación: Euskal Herria
Mensajes: 141
Antigüedad: 21 años, 10 meses
Puntos: 0
Hora local

Hola a todos:

Estoy interesada en poner en mi página web la fecha y hora local, es decir que algún visitante de otro pais de otra franja horaria no visione su hora, sino la de mi pais.


¿Conoce alguien cómo se puede hacer esto?

Gracias

Abaroa
__________________
Cobrar por ver publicidad :arriba:
  #2 (permalink)  
Antiguo 19/02/2003, 11:47
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
¿Y cual es tu pais? Lo digo para hacer los cálculos y demás...
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 19/02/2003, 12:12
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Perdona Abaroa!

No había visto que tenías lo de Euskal Herria en tu ficha, por lo que estás en España. Así que la hora es GTM +1.

El código sería más o menos este:



Código PHP:
<html>
<
head>
    <
title>Untitled</title>
    <
script>
var 
diferenciaConGTM=1;
function 
verHora(){
hoy=new Date();
hora=hoy.getHours();
hora=hora+(hoy.getTimezoneOffset()/60);
hora=hora+diferenciaConGTM;
minutos=hoy.getMinutes();
segundos=hoy.getSeconds();
horario="<b>"+hora+":"+minutos+":"+segundos+"</b>";
document.getElementById("reloj").innerHTML=horario;
}
</script>
</head>

<body onload="self.setInterval('verHora()',1000)">

</body >
<div id="reloj"></div>
</html> 

Espero que te sirva!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #4 (permalink)  
Antiguo 20/02/2003, 10:31
Avatar de ABAROA  
Fecha de Ingreso: junio-2002
Ubicación: Euskal Herria
Mensajes: 141
Antigüedad: 21 años, 10 meses
Puntos: 0
Muchísimas gracias por tu respuesta.

He hecho la prueba y sale, pero con 7 horas de más. Yo no controlo demasiado JS. Qué debo modificar?

Abaroa
__________________
Cobrar por ver publicidad :arriba:
  #5 (permalink)  
Antiguo 20/02/2003, 12:01
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Abaroa!

Me alegro de que te funcionara, pero me sorprende que falle. Si la hora que buscas es la de España está bien como está. Ahora, si lo que buscas poner es otra, hay una variable en el código que es:

Código PHP:
var diferenciaConGTM=

cambia ese 1 por la diferencia de horas con respecto a Reino Unido. En este caso sería (si sale con 7 horas de más)
Código PHP:
var diferenciaConGTM=-

Espero que te funcione... aunque ahora que lo pienso.... espera que tenía un fallo. Ahora está bien. Te pongo entre rayas lo que debes modificar según las horas de diferencia con respecto a la hora del meridiano de Greenwich.

Código PHP:
<html>
<
head>
    <
title>Reloj</title>
    <
script>

//-------------------------------------
var diferenciaConGTM=-5;
//-------------------------------------


function verHora(){
hoy=new Date();
hora=hoy.getHours();
hora=hora+(hoy.getTimezoneOffset()/60);
hora=hora+diferenciaConGTM;
if (
hora>23){hora=hora-24}
if (
hora<0){hora=24+hora}
minutos=hoy.getMinutes();
segundos=hoy.getSeconds();
horario="<b>"+hora+":"+minutos+":"+segundos+"</b>";
document.getElementById("reloj").innerHTML=horario;
}
</script>
</head>

<body onload="self.setInterval('verHora()',1000)">

</body >
<div id="reloj"></div>
</html> 

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #6 (permalink)  
Antiguo 22/02/2003, 10:33
Avatar de ABAROA  
Fecha de Ingreso: junio-2002
Ubicación: Euskal Herria
Mensajes: 141
Antigüedad: 21 años, 10 meses
Puntos: 0
Gracias, gracias!

Me funciona perfecto!! Al final la variable es "=1", no sé porqué el otro día no me iba bien.

Bueno, pues eso, mil gracias.

Abaroa
__________________
Cobrar por ver publicidad :arriba:
  #7 (permalink)  
Antiguo 22/02/2003, 12:02
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
De nada, hombre!

A mandar!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #8 (permalink)  
Antiguo 26/02/2003, 15:41
Avatar de papuchango  
Fecha de Ingreso: febrero-2003
Mensajes: 304
Antigüedad: 21 años, 2 meses
Puntos: 0
hola, talves no me conoces pero tengo un problema similar pero con un script un poco mas complejo, si deseas que te lo envie para corregirlo porfavor respondeme que no me tardo en leerlo
gracias




Cita:
Mensaje Original por KarlanKas
Abaroa!

Me alegro de que te funcionara, pero me sorprende que falle. Si la hora que buscas es la de España está bien como está. Ahora, si lo que buscas poner es otra, hay una variable en el código que es:

Código PHP:
var diferenciaConGTM=

cambia ese 1 por la diferencia de horas con respecto a Reino Unido. En este caso sería (si sale con 7 horas de más)
Código PHP:
var diferenciaConGTM=-

Espero que te funcione... aunque ahora que lo pienso.... espera que tenía un fallo. Ahora está bien. Te pongo entre rayas lo que debes modificar según las horas de diferencia con respecto a la hora del meridiano de Greenwich.

Código PHP:
<html>
<
head>
    <
title>Reloj</title>
    <
script>

//-------------------------------------
var diferenciaConGTM=-5;
//-------------------------------------


function verHora(){
hoy=new Date();
hora=hoy.getHours();
hora=hora+(hoy.getTimezoneOffset()/60);
hora=hora+diferenciaConGTM;
if (
hora>23){hora=hora-24}
if (
hora<0){hora=24+hora}
minutos=hoy.getMinutes();
segundos=hoy.getSeconds();
horario="<b>"+hora+":"+minutos+":"+segundos+"</b>";
document.getElementById("reloj").innerHTML=horario;
}
</script>
</head>

<body onload="self.setInterval('verHora()',1000)">

</body >
<div id="reloj"></div>
</html> 

Un saludo!
  #9 (permalink)  
Antiguo 26/02/2003, 16:43
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
papuchango:

Lo mejor que puedes hacer es colgarlo en un nuevo post... así todos podemos participar y tu respuesta será mucho más rica!!!

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #10 (permalink)  
Antiguo 26/02/2003, 16:50
Avatar de papuchango  
Fecha de Ingreso: febrero-2003
Mensajes: 304
Antigüedad: 21 años, 2 meses
Puntos: 0
aqui esta en limpio

este escript esta guardado en un archivo js para poder llamarlo desde mi pagina:



------------------------------------------------------------------------------------

var RelojID24 = null
var RelojEjecutandose24 = false

function DetenerReloj24 (){
if(RelojEjecutandose24)
clearTimeout(RelojID24)
RelojEjecutandose24 = false
}

function MostrarHora24 () {
var ahora = new Date()
var horas = ahora.getHours()
var minutos = ahora.getMinutes()
var segundos = ahora.getSeconds()
var ValorHora

//establece las horas
if (horas < 10)
ValorHora = "0" + horas
else
ValorHora = "" + horas

//establece los minutos
if (minutos < 10)
ValorHora += ":0" + minutos
else
ValorHora += ":" + minutos

//establece los segundos
if (segundos < 10)
ValorHora += ":0" + segundos
else
ValorHora += ":" + segundos

window.status = ValorHora
//si se desea tener el reloj en la barra de estado, reemplazar la anterior por esta
//window.status = ValorHora

RelojID24 = setTimeout("MostrarHora24()",1000)
RelojEjecutandose24 = true
}

function IniciarReloj24 () {
DetenerReloj24()
MostrarHora24()
}


------------------------------------------------------------------------------------

este seria el body:



------------------------------------------------------------------------------------


<FORM name="formi">
<CENTER>
<P>HORA ACTUAL</P>
<INPUT type="text" name="hour" size=1>
:
<INPUT type="text" name="min" size=1>
:
<INPUT type="text" name="seg" size=1>
<P>My ciudad
<INPUT type="text" name="sem" size=8>
,
<INPUT type="text" name="day" size=1>
de
<INPUT type="text" name="month" size=9>
de
<INPUT type="text" name="year" size=3>
</P>
</CENTER>
<SCRIPT language="javascript">
muestraSeg();
muestraMin();
muestraHour();

muestraSem();
muestraDay();
muestraMon();
muestraYear();
</SCRIPT>
</FORM>


------------------------------------------------------------------------------------



les agradeceria que me ayudaran. Chau!
  #11 (permalink)  
Antiguo 05/03/2003, 09:14
Avatar de Blusera80  
Fecha de Ingreso: noviembre-2001
Ubicación: BS.AS.
Mensajes: 249
Antigüedad: 22 años, 5 meses
Puntos: 0
Hora local, pero con formato cambiado

Buenas, he logrado poner la hora de mi país, pero lo que quiero es cambiarle el formato del texto, y como no se absolutamente nada de js, aca me encuentro, preguntandole a los que saben.

Gracias..!!!
__________________
eMe Cher
  #12 (permalink)  
Antiguo 05/03/2003, 09:52
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Hola Blusera!!

para cambiar el formato de texto sólo tienes que poner entre el <HEAD> y el </HEAD> lo siguiente:

<STYLE>
#reloj{
font-family: Verdana;
font-size: 10px;
font-style: normal;
font-weight: bold;
color: #191970;
}
</STYLE>

Modifícalo según creas conveniente...

Un saludo!!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #13 (permalink)  
Antiguo 05/03/2003, 10:06
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
papuchango!!

Me parece que has mezclado 2 scripts o algo porque lo que tienes es un galimatias!

Mira, lo que hace tu script es poner un reloj en la barra de estado. He hecho unos cambios para que funcione:

Código PHP:
<html>
<
head>
<
script>
var 
RelojID24 null
var RelojEjecutandose24 false

function DetenerReloj24 (){
if(
RelojEjecutandose24)
clearTimeout(RelojID24)
RelojEjecutandose24 false
}

function 
MostrarHora24 () {
var 
ahora = new Date()
var 
horas ahora.getHours()
var 
minutos ahora.getMinutes()
var 
segundos ahora.getSeconds()
var 
ValorHora

//establece las horas
if (horas 10)
ValorHora "0" horas
else
ValorHora "" horas

//establece los minutos
if (minutos 10)
ValorHora += ":0" minutos
else
ValorHora += ":" minutos

//establece los segundos
if (segundos 10)
ValorHora += ":0" segundos
else
ValorHora += ":" segundos

window
.status ValorHora
//si se desea tener el reloj en la barra de estado, reemplazar la anterior por esta
//window.status = ValorHora

RelojID24 setTimeout("MostrarHora24()",1000)
RelojEjecutandose24 true
}

function 
IniciarReloj24 () {
DetenerReloj24()
MostrarHora24()
}
</script>

    <title>Untitled</title>
</head>
<body onload="IniciarReloj24()">
</body>
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #14 (permalink)  
Antiguo 05/03/2003, 10:13
Avatar de papuchango  
Fecha de Ingreso: febrero-2003
Mensajes: 304
Antigüedad: 21 años, 2 meses
Puntos: 0
Ok!

Mira, me funciona de maravillapero con la hora del reloj de la barra de inicio!

Que me falta para poner la hora local de mi region?
  #15 (permalink)  
Antiguo 05/03/2003, 10:37
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Lo mejor que puedes hacer es coger mi script y cambiar estas 2 líneas consecutivas:

horario="<b>"+hora+":"+minutos+":"+segundos+"</b>";
document.getElementById("reloj").innerHTML=horario ;


por esta:

horario=hora+":"+minutos+":"+segundos;
window.status=horario;

Y ya está!

Quedaría con algún cambio así:

Código PHP:

<html>
<
head>
    <
title>Reloj</title>
    <
script>

//-------------------------------------
var diferenciaConGTM=+1;
//-------------------------------------


function verHora(){
hoy=new Date();
hora=hoy.getHours();
hora=hora+(hoy.getTimezoneOffset()/60);
hora=hora+diferenciaConGTM;
if (
hora>23){hora=hora-24}
if (
hora<0){hora=24+hora}
minutos=hoy.getMinutes();
segundos=hoy.getSeconds();
if (
segundos<10){segundos="0"+segundos;}
if (
minutos<10){minutos="0"+minutos;}
horario=hora+":"+minutos+":"+segundos;
window.status=horario;
}
</script>
</head>
<body onload="self.setInterval('verHora()',1000)">
</body >
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 05/03/2003 a las 10:47
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:26.