Foros del Web » Programando para Internet » PHP »

Sistema de horarios

Estas en el tema de Sistema de horarios en el foro de PHP en Foros del Web. holamigos le agradezco en grandesi me ayudan bueno es asusto es que tengo en mi base de datos ID | HORA_INICIO | HORA_FINAL | NOMBRE ...
  #1 (permalink)  
Antiguo 09/06/2012, 12:53
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Sistema de horarios

holamigos le agradezco en grandesi me ayudan bueno es asusto es que tengo en mi base de datos

ID | HORA_INICIO | HORA_FINAL | NOMBRE
1 8:30 AM 10:00 PM Despertar!
2 10:30 PM 12:30 PM Noticia en vivo!

Bueno la tabla se llama horarios, estoy buscardo la forma que en un archivo php compara la hora del sistema para que al llamar esa a ese archivo muestra que son las 9:15 PM y muestre que estas en "Despertar!" o que son las 11:35 pm y muestra "Noticia en vivo!"

he Intentado varias formar pero no me muestra nada Porfavor se los agradezco
  #2 (permalink)  
Antiguo 09/06/2012, 14:38
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de horarios

la verdad es que para esta tarea no necesitas un registro en la base de datos
mediante verificaciones es mas que suficiente para sacar la hora y mostrar el mensaje

de esta manera no sera necesario realizar las consultas en la bd por lo cual tu script cargara mas rapido

ejemplo que te sirve pruebalo y me cuentas

Código PHP:
Ver original
  1. if( date('H:i') >= '08:30' && date('H:i') <= '10:00'){
  2.  
  3.     echo 'despierta';
  4.    
  5.    
  6. }elseif( date('H:i') >= '10:30' && date('H:i') <= '12:30'){
  7.    
  8.  
  9.     echo 'Noticia en vivo';
  10.    
  11.  
  12. }else{
  13.    
  14.  
  15. echo 'fuera del rango de horas';
  16.  
  17.  
  18. }

Última edición por webankenovi; 09/06/2012 a las 15:11
  #3 (permalink)  
Antiguo 09/06/2012, 16:48
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Sistema de horarios

Código PHP:
Ver original
  1. if( date('H:i') >= '08:30' && date('H:i') <= '10:00'){

FAIL, en PHP no puedes comparar fechas porque NO EXISTE el tipo DATE/TIME, por lo tanto daria resultados inesperados, para poder comparar es necesario convertir la fecha/hora en tiempo UNIX...

Código PHP:
Ver original
  1. <?php
  2. $fecha = date('Y/m/d'); //Debes indicar una fecha, con la actual es suficiente...
  3.  
  4. $horaIni = $fecha.' 08:00:00'; //8 de la mañana
  5. $unixIni = strtotime($hora);
  6.  
  7. $horaFin = $fecha.' 14:00:00'; // 2 de la tarde
  8. $unixFin = strtotime($horaFin);
  9.  
  10. $actual = $fecha.' '.date('H:d:s');
  11. $unixActual = strtotime($actual);
  12.  
  13. if ($unixActual >= $horaIni && $unixActual <= $horaFin) {
  14.     echo 'dentro del rango!';
  15. }else {
  16.     echo 'fuera del rango';
  17. }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #4 (permalink)  
Antiguo 09/06/2012, 16:52
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de horarios

Cita:
Iniciado por Nemutagk Ver Mensaje
Código PHP:
Ver original
  1. if( date('H:i') >= '08:30' && date('H:i') <= '10:00'){

FAIL, en PHP no puedes comparar fechas porque NO EXISTE el tipo DATE/TIME, por lo tanto daria resultados inesperados, para poder comparar es necesario convertir la fecha/hora en tiempo UNIX...

Código PHP:
Ver original
  1. <?php
  2. $fecha = date('Y/m/d'); //Debes indicar una fecha, con la actual es suficiente...
  3.  
  4. $horaIni = $fecha.' 08:00:00'; //8 de la mañana
  5. $unixIni = strtotime($hora);
  6.  
  7. $horaFin = $fecha.' 14:00:00'; // 2 de la tarde
  8. $unixFin = strtotime($horaFin);
  9.  
  10. $actual = $fecha.' '.date('H:d:s');
  11. $unixActual = strtotime($actual);
  12.  
  13. if ($unixActual >= $horaIni && $unixActual <= $horaFin) {
  14.     echo 'dentro del rango!';
  15. }else {
  16.     echo 'fuera del rango';
  17. }

estoy de acuerdo , pero funciona eee ejejje , puse que era un ejemplo por que no queria darselo todo echo
  #5 (permalink)  
Antiguo 10/06/2012, 12:05
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Sistema de horarios

Wow gracias amigo, pero dejame probar loa archivo y les cuento los resultado.!
  #6 (permalink)  
Antiguo 10/06/2012, 12:29
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Sistema de horarios

amigo creo que hay un problema cuando coloco los codigo y la hora dice que esta fuera de rango.!
  #7 (permalink)  
Antiguo 10/06/2012, 12:39
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de horarios

especifica el codigo que usaste y tambien ese resultado depende de la hora en la que lo probaste cual era??
  #8 (permalink)  
Antiguo 10/06/2012, 12:45
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Sistema de horarios

Código PHP:
Ver original
  1. <?php
  2.     $fecha = date('h:i a',time() - 3600*date('I'));
  3.    $hora = date('h:i a',time() - 3600*date('I'));
  4.      
  5.     $horaIni = $fecha.'01:00 pm'; //1 de la  tarde
  6.     $unixIni = strtotime($hora);
  7.      
  8.     $horaFin = $fecha.'03:00 pm'; // hasta 2 de la tarde
  9.     $unixFin = strtotime($horaFin);
  10.      
  11.     $actual = date('h:i a',time() - 3600*date('I'));
  12.     $unixActual = strtotime($actual);
  13.      
  14.     if ($unixActual >= $horaIni && $unixActual <= $horaFin) {
  15.         echo 'Despertar!.';
  16.     }else {
  17.         echo 'fuera del rango';
  18.     }
  19. ?>

Lo que dice es fuera de rango.!
  #9 (permalink)  
Antiguo 10/06/2012, 12:56
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de horarios

yo pienso que las modificaciones que hiciste en $fecha $hora y $actual no son validas luego para comparar en el if que hay por eso te da fuera de rango yo creo , dejalo como estaba no es neceario modificar nada solo las horas que quieres

pruebalo tal como te lo doy solo añadiendo las horas asi mira

Código PHP:
Ver original
  1. $fecha = date('Y/m/d'); //Debes indicar una fecha, con la actual es suficiente...
  2.      
  3.     $horaIni = $fecha.' 08:30:00';
  4.     $unixIni = strtotime($horaIni);
  5.      
  6.     $horaFin = $fecha.' 10:00:00';
  7.     $unixFin = strtotime($horaFin);
  8.    
  9.     $horaIni2 = $fecha.' 10:30:00';
  10.     $unixIni2 = strtotime($horaIni2);
  11.      
  12.     $horaFin2 = $fecha.' 12:00:00';
  13.     $unixFin2 = strtotime($horaFin2);
  14.      
  15.     $actual = $fecha.' '.date('H:d:s');
  16.     $unixActual = strtotime($actual);
  17.      
  18.     if ($unixActual >= $horaIni && $unixActual <= $horaFin) {
  19.         echo 'despertar';
  20.     }elseif ($unixActual >= $horaIni2 && $unixActual <= $horaFin2) {
  21.         echo 'noticia en vivo';
  22.     }else{
  23.         echo'no hay eventos';
  24.        
  25.         }

Última edición por webankenovi; 10/06/2012 a las 13:04
  #10 (permalink)  
Antiguo 10/06/2012, 13:05
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Sistema de horarios

ok gracias amigo. cual quier cosa te comento.
  #11 (permalink)  
Antiguo 10/06/2012, 13:11
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Sistema de horarios

Amigo en realidad te agrdezco bastante pero sigue los codigo dice el error dice "no hay eventos" tal cual como lo puso usted y no hay resultado, por que se debe esto creo que hay un erros en la progracion de hora.

Última edición por Requenaeo; 10/06/2012 a las 13:24
  #12 (permalink)  
Antiguo 10/06/2012, 13:33
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de horarios

yo quiero que me digas a que hora de tu reloj probaste el script si lo as probado en una hora que no sea ni entre las 8y30 y 10 o entre las 10y30 y 12 , logicamente te saldra el resultado de no hay eventos por eso te pregunto que a que hora de tu reloj lo as probado para descartar que sea de eso
  #13 (permalink)  
Antiguo 10/06/2012, 13:35
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Sistema de horarios

aqui esta el script
Código PHP:
Ver original
  1. <?php
  2.     $fecha = date('Y/m/d'); //Debes indicar una fecha, con la actual es suficiente...
  3.          
  4.         $horaIni = $fecha.' 14:00:00';
  5.         $unixIni = strtotime($horaIni);
  6.          
  7.         $horaFin = $fecha.' 15:00:00';
  8.         $unixFin = strtotime($horaFin);
  9.        
  10.         $horaIni2 = $fecha.' 15:30:00';
  11.         $unixIni2 = strtotime($horaIni2);
  12.          
  13.         $horaFin2 = $fecha.' 16:00:00';
  14.         $unixFin2 = strtotime($horaFin2);
  15.          
  16.         $actual = $fecha.' '.date('H:d:s');
  17.         $unixActual = strtotime($actual);
  18.          
  19.         if ($unixActual >= $horaIni && $unixActual <= $horaFin) {
  20.             echo 'despertar';
  21.         }elseif ($unixActual >= $horaIni2 && $unixActual <= $horaFin2) {
  22.             echo 'noticia en vivo';
  23.         }else{
  24.             echo'no hay eventos';
  25.            
  26.             }
  27. ?>
solo cambia la hora actual de mi provincia.!
  #14 (permalink)  
Antiguo 10/06/2012, 13:39
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de horarios

no me entiendes amigo , que que hora tienes ahora mismo en tu ordenador??? no en el script

prueba esto y dime que te aparece

Código PHP:
Ver original
  1. <?php
  2.  
  3.         $fecha = date('Y/m/d');
  4.              
  5.             $horaIni = $fecha.' 14:00:00';
  6.             $unixIni = strtotime($horaIni);
  7.              
  8.             $horaFin = $fecha.' 15:00:00';
  9.             $unixFin = strtotime($horaFin);
  10.            
  11.             $horaIni2 = $fecha.' 15:30:00';
  12.             $unixIni2 = strtotime($horaIni2);
  13.              
  14.             $horaFin2 = $fecha.' 16:00:00';
  15.             $unixFin2 = strtotime($horaFin2);
  16.              
  17.             $actual = $fecha.' '.date('H:i:s');
  18.             $unixActual = strtotime($actual);
  19.              
  20.             if ($unixActual >= $horaIni && $unixActual <= $horaFin) {
  21.                 echo 'despertar';
  22.             }elseif ($unixActual >= $horaIni2 && $unixActual <= $horaFin2) {
  23.                 echo 'noticia en vivo';
  24.             }else{
  25.                 echo'no hay eventos , son las'.date('H:i:s') ;
  26.                
  27.                 }
  28.     ?>
  #15 (permalink)  
Antiguo 10/06/2012, 13:47
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Sistema de horarios

dice "no hay eventos , son las19:41:53" ya le acobo de cambiar la hora aol script y dice lo mismo.
  #16 (permalink)  
Antiguo 10/06/2012, 13:50
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de horarios

ahora nos entendemos jejeje , una pregunta probaste el codigo que puse yo al principio , pruebalo y dime que te aparece para ver que resultado te da

Código PHP:
Ver original
  1. if( date('H:i') >= '08:30' && date('H:i') <= '10:00'){
  2.      
  3.         echo 'despierta';
  4.        
  5.        
  6.     }elseif( date('H:i') >= '19:00' && date('H:i') <= '21:30'){
  7.        
  8.      
  9.         echo 'Noticia en vivo';
  10.        
  11.      
  12.     }else{
  13.        
  14.      
  15.     echo 'fuera del rango de horas';
  16.      
  17.      
  18.     }
  #17 (permalink)  
Antiguo 10/06/2012, 13:55
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Sistema de horarios

AMIGO!! ahora si va de acuerdo al script.
  #18 (permalink)  
Antiguo 10/06/2012, 13:59
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de horarios

yo se que funciona pero nemutagk dijo que era erroeneo que no podia comparar date/time pero en verdad nadie dijo eso yo solo comparaba horas no fechas que es lo que tu querias , pero como probaste el codigo de el pensaba que te interesaba mas la forma que el dijo yo no se cual sera mejor forma pero si se que esta funciona perfectamente , un saludo
  #19 (permalink)  
Antiguo 10/06/2012, 14:29
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Sistema de horarios

en realidad te agradezco bastante.!
  #20 (permalink)  
Antiguo 10/06/2012, 17:11
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Sistema de horarios

No tengo ni idea de lo que están haciendo, pero mi código funciona, ojo, la hora del servidor (no local) no tiene porque estar en la misma hora que tu equipo, en fin, este código funciona correctamente...

Código PHP:
Ver original
  1. <?php
  2. $fecha = date('Y/m/d');
  3.  
  4. $fechaInicio = strtotime($fecha.' 11:00:00');
  5. $fechaFin = strtotime($fecha.' 14:00:00');
  6.  
  7. $fechaInicio2 = strtotime($fecha.' 15:00:00');
  8. $fechaFin2 = strtotime($fecha.' 20:00:00');
  9.  
  10. $fechaActual = time();
  11.  
  12. if ($fechaActual >= $fechaInicio && $fechaActual <= $fechaFin) {
  13.     echo 'dentro del rango';
  14. }else if ($fechaActual >= $fechaInicio2 && $fechaActual <= $fechaFin2) {
  15.     echo 'dentro del rango 2';
  16. }else {
  17.     echo 'fuera del rango';
  18. }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #21 (permalink)  
Antiguo 11/06/2012, 11:05
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de horarios

hola nemutagk , nadie hablo de que tu codigo no funciona , solo que le dio problemas A requenaeo y le sugeri que probara mi codigo . logicamente la hora del servidor no tiene por que ser la misma pero hicimos un echo date('H:i:s'); para comprobarlo y yo le añadiria un date_default_timezone_set('Europe/Londres'); ,

lo que yo cuestiono es que en ningun momento el dijo nada de comparar fechas solo horas por lo que si date('H') es igual a la hora por ejemplo 19 y comparas date('H') == 19 esto es totalmente valido para lo que el pidio y no se por que dices que es un fallo la verdad no lo entiendo

saludos
  #22 (permalink)  
Antiguo 13/06/2012, 01:53
Avatar de ShuyithoKruz  
Fecha de Ingreso: marzo-2012
Ubicación: Tijuana
Mensajes: 40
Antigüedad: 12 años, 1 mes
Puntos: 3
Respuesta: Sistema de horarios

Hola aqui acomplandome al tema no se si me puedan ayudar quiero algo parecido pero un horario para cada dia de la semana por ejemplo de lunes a viernes de 8 a 5 aparezca un include y el dia sabado y domingo ps nada no se si alguien me pueda auxiliar con esto
  #23 (permalink)  
Antiguo 13/06/2012, 07:23
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Sistema de horarios

mmmm y no se te ocurrió checar la documentación de la función date....
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #24 (permalink)  
Antiguo 13/06/2012, 11:43
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de horarios

amigo ShuyithoKruz en primer lugar seria muy parecido a lo que ya dijimos pero con la diferencia de verificar el dia de la semana


Código PHP:
Ver original
  1. $dias = array('Domingo','Lunes','Martes','Miercoles','Jueves','Viernes','Sábado');
  2. $dia_final = $dias[date('w')];
  3.  
  4. if($dia_final == 'sabado'){
  5.  
  6.     if( date('H:i') >= '08:00' && date('H:i') <= '17:00'){
  7.          
  8.             echo 'include sabado';
  9.  
  10.         }else{
  11.            
  12.          
  13.        echo 'hoy es sabado y no estamos dentro de las 8 a las 17 que debo hacer??';
  14.          
  15.          
  16.         }
  17.  
  18. }elseif($dia_final == 'domingo'){
  19.  
  20. if( date('H:i') >= '08:00' && date('H:i') <= '17:00'){
  21.          
  22.             echo 'include domingo';
  23.  
  24.         }else{
  25.            
  26.          
  27.         echo 'hoy es domingo y no estamos dentro de las 8 a las 17 que debo hacer??';
  28.          
  29.          
  30.         }
  31.  
  32. }else{
  33.  
  34. if( date('H:i') >= '08:00' && date('H:i') <= '17:00'){
  35.          
  36.             echo 'include lunes a viernes';
  37.  
  38.         }else{
  39.            
  40.          
  41.         echo 'hoy es lunes a viernes y no estamos dentro de las 8 a las 17 que debo hacer??';
  42.          
  43.          
  44.         }
  45.  
  46. }

si deseas hacerlo por cada dia es seguir la misma estructura
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:46.