Funcion- tiempo transcurrido perfil
hola, tengo problema con la funcion //Tiempo trascurrido funcion
function tiempo_transcurrido($fecha) {
if(empty($fecha)) {
return "No hay fecha"; .........
Lo que pasa que alver el tiempo de la ultima sesion la funcion tiempo y campo ultima en la bd, me aparece al volver al perfil , con 4m horas más de las que realmente deberia y em general en todas las paginas con esta funcion me aparece unn d desface de 4 horas,
Supongo que es por difereia horaria en la configuracion de algo, tal vez del navegador, porque la hora del compu es la misma que aparece registrada en la columna ultima' con times current
Será el navegador o algun codigo que deba cambiar en la estructura html?, cual sería si es asi, espero aportar con la solucion a buscarla al menos,
slds
function tiempo_transcurrido($fecha) {
if(empty($fecha)) {
return "No hay fecha"; .........
Lo que pasa que alver el tiempo de la ultima sesion la funcion tiempo y campo ultima en la bd, me aparece al volver al perfil , con 4m horas más de las que realmente deberia y em general en todas las paginas con esta funcion me aparece unn d desface de 4 horas,
Supongo que es por difereia horaria en la configuracion de algo, tal vez del navegador, porque la hora del compu es la misma que aparece registrada en la columna ultima' con times current
Será el navegador o algun codigo que deba cambiar en la estructura html?, cual sería si es asi, espero aportar con la solucion a buscarla al menos,
slds
0
Puntos
Puntos
1273
Visitas
Visitas
4
Resp
Resp
Por claudiop hace 86 meses
Principiante
Respuesta #1
p.d.: los codigos estan ultra revisados y estan bien, el php al menos y las consultas y update sql
0
Puntos
Puntos
Por claudiop hace 86 meses
Principiante
Respuesta #2
hola buenas, si la fecha que tienes en la base de datos es la correcta la función debería mostrar la hora sin adelanto.. no obstante comprueba otra vez que la fecha este guardada de manera correcta ademas comprueba que cada vez que el usuario haga login esa fecha/hora se actualice
por último publica en este hilo la función tiempo transcurrido completa y le echamos un vistazo
salu2
por último publica en este hilo la función tiempo transcurrido completa y le echamos un vistazo
salu2
0
Puntos
Puntos
Por alber hace 86 meses
Administrador
Respuesta #3
ok, aqui va la funcion:
//Tiempo trascurrido funcion
function tiempo_transcurrido($fecha) {
if(empty($fecha)) {
return "No hay fecha";
}
$intervalos = array("segundo", "minuto", "hora", utf8_decode("día"), "semana", "mes", utf8_decode("año"));
$duraciones = array("60","60","24","7","4.35","12");
$ahora = time();
$Fecha_Unix = strtotime($fecha);
if(empty($Fecha_Unix)) {
return "Fecha incorracta";
}
if($ahora > $Fecha_Unix) {
$diferencia =$ahora - $Fecha_Unix;
$tiempo = "Hace";
} else {
$diferencia = $Fecha_Unix -$ahora;
$tiempo = "Dentro de";
}
for($j = 0; $diferencia >= $duraciones[$j] && $j < count($duraciones)-1; $j++) {
$diferencia /= $duraciones[$j];
}
$diferencia = round($diferencia);
if($diferencia != 1) {
$intervalos[5].="e"; //MESES
$intervalos[$j].= "s";
}
return "$tiempo $diferencia $intervalos[$j]";
}
//Tiempo trascurrido funcion
function tiempo_transcurrido($fecha) {
if(empty($fecha)) {
return "No hay fecha";
}
$intervalos = array("segundo", "minuto", "hora", utf8_decode("día"), "semana", "mes", utf8_decode("año"));
$duraciones = array("60","60","24","7","4.35","12");
$ahora = time();
$Fecha_Unix = strtotime($fecha);
if(empty($Fecha_Unix)) {
return "Fecha incorracta";
}
if($ahora > $Fecha_Unix) {
$diferencia =$ahora - $Fecha_Unix;
$tiempo = "Hace";
} else {
$diferencia = $Fecha_Unix -$ahora;
$tiempo = "Dentro de";
}
for($j = 0; $diferencia >= $duraciones[$j] && $j < count($duraciones)-1; $j++) {
$diferencia /= $duraciones[$j];
}
$diferencia = round($diferencia);
if($diferencia != 1) {
$intervalos[5].="e"; //MESES
$intervalos[$j].= "s";
}
return "$tiempo $diferencia $intervalos[$j]";
}
0
Puntos
Puntos
Por claudiop hace 86 meses
Principiante
Respuesta #4
tal vez al final cuando suba la bd al servidor con la pagina web, ahi deberia funcionar
0
Puntos
Puntos
Por claudiop hace 86 meses
Principiante