He creado una funcion para hallar las horas de diferencia de la zona horaria del usuario respecto a la de Berlin. Mi problema es que tengo un include con la configuracion de mi web y en ella tengo esto: 'datedefaulttimezoneset("Europe/Berlin");' que hace que todas las obtenciones de fecha las haga en esa zona horaria. Como puedo obtener la fecha y hora actual del usuario sin que me ponga la zona horaria de Berlin?
Aqui la funcion:
function zonause($tiempo){
$tiempo2 = str_ireplace("a las", "", $tiempo);
$date = date("Y-m-d H:i:s");
$date2 =;
$resto = $date - $date2;
$palabras=explode("-",$resto);
$total=count($palabras);
if($total!=="1") {
$newresto = str_ireplace("-", "", $resto);
}else{
$newresto = '-'.$resto;
}
$nuevafecha = strtotime ( $newresto.' hour' , strtotime ( $tiempo2 ) ) ;
$nuevafecha = date ( 'm/d/Y H:i:s' , $nuevafecha );
$nuevafecha = str_ireplace(" ", " a las ", $nuevafecha);
return "$nuevafecha";
};
echo zonause('02/01/2014 a las 02:13');
La funcion obtiene la hora actual en Berlin y la de el usuario (Que no se como hacerlo), y hace el resto para averiguar cuantas horas se llevan de diferencia, luego quita el 'a las' de la fecha que se tiene que convertir y resta o suma las horas a la fecha y vuelve a a poner el 'a las'.
La $date2 deberia ser la hora actual del usuario en su zona horaria. El codigo por lo demas esta bien? Es que no he podido probarlo aun porque el servidor de mi web se cayó.