Mensajes de eco al verificar current_time ()

2

Antes de pedir ayuda, me gustaría aclarar que no tengo habilidades avanzadas en PHP. Lo que quiero lograr es mostrar diferentes mensajes por cada período de tiempo que establezco (necesito esto para LOOP todos los días) . Después de leer esto - > enlace traté de verificar:

$my_time = current_time('mysql');
if ($my_time >= 14 && $my_time <= 16) {
    echo 'Do your homework';
} else if ($my_time > 14 && $my_time <= 18) {
    echo 'Clean up the house';
} else if ($my_time > 18 && $my_time <= 20) {
    echo 'Go Shopping';
  .
  .
  .
  .
  .
} else {
    echo 'Lets start over!'
}

Donde 14, 16, 18, 20 es la hora (formato de 24 horas). Sin embargo esto no funcionó. Cuando hago eco de current_time ('mysql'), devuelve la fecha y la hora, por lo que incluso si pudiera funcionar, no funcionaría debido a la fecha, ¿verdad? Gracias de antemano.

    
pregunta ArgGeo 24.04.2013 - 15:09

2 respuestas

5

Solo necesitarías formatear la hora que devuelve current_time () con la función php date () de esta manera:

$my_time = date('G', current_time('timestamp'));

El parámetro 'G' le dice a la función que solo desea tener la parte de la hora (0 a 23) de la fecha. Eche un vistazo aquí: enlace

    
respondido por el s1lv3r 24.04.2013 - 15:21
3

Tienes razón en que es una función de WordPress y, por lo tanto, eliminé mi comentario. Sin embargo, esto solo está relacionado con WordPress, debido a que esta es una función de WordPress.

Esto tiene más que ver con lo que es una marca de tiempo y cómo puedes trabajar con él.

$my_time = current_time('timestamp');
$my_hour = date('G', $my_time);
if ($my_hour >= 14 && $my_hour <= 16)
    echo 'Do your homework';
elseif ($my_hour > 14 && $my_hour <= 18)
    echo 'Clean up the house';
elseif ($my_hour > 18 && $my_hour <= 20)
    echo 'Go Shopping';
else
    echo 'Lets start over!'

Referencias :

respondido por el tfrommen 24.04.2013 - 15:23

Lea otras preguntas en las etiquetas