Foros del Web » Creando para Internet » Diseño web »

Necesito obtener la hora española

Estas en el tema de Necesito obtener la hora española en el foro de Diseño web en Foros del Web. Buenas. No sabia si poner este mensaje en este foro o en el de php. Tengo que obtener la hora española y no me vale ...
  #1 (permalink)  
Antiguo 03/11/2008, 06:07
 
Fecha de Ingreso: abril-2004
Mensajes: 36
Antigüedad: 20 años
Puntos: 0
Necesito obtener la hora española

Buenas.
No sabia si poner este mensaje en este foro o en el de php.

Tengo que obtener la hora española y no me vale la del servidor, por lo que he buscado y he encontrado como conectarme a un servidor NTP y obtener la hora ( http://www.kloth.net/software/timesrv1.php ), el codigo PHP es este:
Código PHP:
/Relojes
function query_time_server ($timeserver$socket) {
/* Query a time server
   (C) 1999-09-29, Ralf D. Kloth (QRQ.software) <ralf at qrq.de> */

  
$fp fsockopen($timeserver,$socket,$err,$errstr,5);
        
# parameters: server, socket, error code, error text, timeout
  
if ($fp) {
    
fputs($fp,"\n");
    
$timevalue fread($fp,49);
    
fclose($fp); # close the connection
  
}
  else {
    
$timevalue " ";
  }

  
$ret = array();
  
$ret[] = $timevalue;
  
$ret[] = $err;     # error code
  
$ret[] = $errstr;  # error text
  
return($ret);

# function query_time_server 



/* Query a time server
   (C) 1999-09-29, Ralf D. Kloth (QRQ.software) <ralf at qrq.de> */
$timeserver "hora.roa.es";

$timercvd query_time_server($timeserver,37);
if (!
$timercvd[1]) { # if no error from query_time_server
  
$timevalue bin2hex ($timercvd[0]);
  
//echo(HexDec($timevalue));
  
$timevalue abs (HexDec('7fffffff') - HexDec($timevalue) - HexDec('7fffffff')) ;
  
$tmestamp $timevalue 2208988800# convert to UNIX epoch time stamp
  //$datum = date("Y-m-d (D) H:i:s",$tmestamp - date("Z",$tmestamp)); /* incl time zone offset */
  
$hora date("H",$tmestamp date("Z",$tmestamp));
  
$minutos date("i",$tmestamp date("Z",$tmestamp));
  
  
$hora_esp $hora 2;

    
  

else {
  echo 
"Unfortunately, the time server $timeserver could not be reached at this time. ";
  echo 
"$timercvd[1] $timercvd[2].<br>\n";

Utilizo el servidor oficial de españa: hora.roa.es, pero no me da la hora española, obtengo la hora UTC, a la que tendría que añadir la diferencia horaria y además controlar el cambio de hora de octubre y de mayo.
¿se podría obtener la hora española directamente del servidor?

Gracias.
  #2 (permalink)  
Antiguo 03/11/2008, 08:37
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Necesito obtener la hora española

no se para que sera tu invento :P pero los server en lycos son gratis y traen si propaganda y todo lo demás, no tienen smtp etc, pero para este caso te sirve ya que si mal no recuerdo tienen la hora española eso si no lo afirmo un 100% podrias subir un archivo con un simple

date (H:i:s); lo asocias a alguna variable y luego haces un require o include del archivo en ese server y ya puedes jugar con la variable, ahora si ya tienes un server en españa tanto mejor.....

si no te ayuda me dices y vemos por el lado de quitar fechas y demas a lo codigo...

saludos.
__________________
Gokuh Salvo al mundo. PUNTO!!!!
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 18:12.