Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/12/2005, 12:31
Shockly
 
Fecha de Ingreso: agosto-2005
Mensajes: 109
Antigüedad: 21 años, 2 meses
Puntos: 0
Si, es un problema recurrente. Yo lo resolví definitivamente con lo que sigue... lo pongo en un include y la variable '$ahora' es la hora que és, según la 'zona' que has definido.... y te da igual en qué zona está el server.

Un saludo.

Código PHP:
<?php
    
//  desde el server a GMT_local (España == '+1')
    
function GetTZOffset( $GMT_local ) {
      
$Offset = date("O", 0);            //  Diferencia con la hora Greenwich (GMT) en horas.
      
$Parity = $Offset < 0 ? -1 : 1;
      
$Offset = $Parity * $Offset;
      
$Offset = ($Offset - ($Offset % 100))/100*60 + $Offset % 100;
      
$TZOffset = $Parity * $Offset;
      
$TZOffset = (0 - ($TZOffset*60)) + ($GMT_local * 3600);
      return 
$TZOffset;
    }

    
$zona = "+1";            //  CET, Madrid
    
$ahora = time() + GetTZOffset( "+1" );
    
    
setlocale( LC_ALL, 'spanish' );
    echo 
"Hora GMT$zona ahora: " . strftime( "%A %d %B %Y&nbsp;-&nbsp;%H:%M:%S", $ahora ) . "<br>";
?>