Ver Mensaje Individual
  #10 (permalink)  
Antiguo 29/12/2009, 09:36
El-FeNiX
 
Fecha de Ingreso: enero-2008
Mensajes: 381
Antigüedad: 18 años, 9 meses
Puntos: 19
Respuesta: Detectar horario de verano

Ya lo he terminado para que funcione perfectamente siempre. Lo dejo aqui por si alguien le interesa.


Código PHP:
function getTimestamp($forMySQL) {
    
date_default_timezone_set('UTC');
    
$year = date("Y");
    
$ahora =strtotime(date("d-m-Y"));  
    
$inicio_invierno = strtotime("last Sunday April $year");
    
$fin_invierno = strtotime("last Sunday November $year");
    if (
$ahora > $inicio_invierno && $ahora <= $fin_invierno) $num = 2;
    else 
$num = 1;
    if (
$forMySQL)    return "DATE_ADD( UTC_TIMESTAMP( ) , INTERVAL $num HOUR )";
    else return 
strtotime("+$num hours now");
} 
Es para españa y otros paises proximos, para latinoamerica hay que ajustar la variable $num para cada zona...

Usos:

Código PHP:
//Mostrar la hora
$formato = "d/m/Y H:i";
echo 
date($formato, getTimesptamp(false));

//Guardar hora en base de datos
$time = getTimestamp(true);
$query = "INSERT INTO users(nick,password,date) VALUES"
                
."('$nick', '$pass','$agent',$time)"; 

Saludos.