Codeigniter - Como verificar si ya paso un día, desde la fecha del ultimo loggin??

 
Vista:

Como verificar si ya paso un día, desde la fecha del ultimo loggin??

Publicado por jerry (1 intervención) el 05/04/2018 06:03:13
1
2
3
4
5
6
7
8
9
10
11
function reset($u_id)
    {
        $u_data = $this->user_model->getData($u_id);
        $time = strtotime('+1 day',time());
 
        if($u_data->last_log < $time){
     	   return true;
        }else{
           return false;
        }
    }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Verificar si ha pasado un día desde el último inicio de sesión

Publicado por Alejandro (44 intervenciones) el 01/09/2023 22:49:31
El código que proporcionaste parece correcto para verificar si ha pasado un día desde el último inicio de sesión de un usuario. El método `reset` toma el ID de usuario como argumento, obtiene la información del usuario, y luego compara la marca de tiempo de su último inicio de sesión con la marca de tiempo actual más un día.

El código se ve bien, pero para mayor claridad y legibilidad, puedes hacer algunas mejoras en la función:

1
2
3
4
5
6
7
8
9
10
11
12
function hasPassedDaySinceLastLogin($u_id)
{
    $u_data = $this->user_model->getData($u_id);
    $currentTime = time();
    $oneDayAgo = strtotime('-1 day', $currentTime);
 
    if ($u_data->last_log < $oneDayAgo) {
        return true;
    } else {
        return false;
    }
}

En este código:

- Cambié el nombre de la función a `hasPassedDaySinceLastLogin` para que sea más descriptivo de su propósito.
- Cambié el nombre de la variable `$time` a `$currentTime` para mayor claridad.
- En lugar de calcular la marca de tiempo para "un día después" usando `strtotime('+1 day', time())`, utilicé `strtotime('-1 day', $currentTime)` para obtener la marca de tiempo de "un día antes", lo que hace que la comparación sea más intuitiva.

Con estas mejoras, la función debería seguir funcionando de la misma manera, pero será más legible y fácil de entender.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar