Foros del Web » Programando para Internet » PHP »

Comparacion de fechas

Estas en el tema de Comparacion de fechas en el foro de PHP en Foros del Web. hola amigos, esta es mi situación: En una base de datos tengo la hora inicio o fin de varios turnos, necesito determinar de acuerdo a ...
  #1 (permalink)  
Antiguo 22/01/2016, 09:30
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Comparacion de fechas

hola amigos, esta es mi situación:

En una base de datos tengo la hora inicio o fin de varios turnos, necesito determinar de acuerdo a la fecha del sistema a que turno pertenece.

turnos:

06:00 - 13:00
13:00 - 20:00
20:00 - 06:00
  #2 (permalink)  
Antiguo 22/01/2016, 09:38
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Comparacion de fechas

¿Qué indagaste o haz podido hacer?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 22/01/2016, 09:53
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: Comparacion de fechas

estoy trabajando con la libreria carbon, obtengo la actual pero tengo problemas en la comparacion, tendria que ser con if anidados?

Código PHP:
Ver original
  1. $actual = \Carbon\Carbon::now();
  #4 (permalink)  
Antiguo 22/01/2016, 10:27
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: Comparacion de fechas

Temporalmente lo solucione asi:

Código PHP:
Ver original
  1. $turnoMananaInicio = \Carbon\Carbon::now()->startOfDay()->addHours(6);
  2.   $turnoMananaFin = \Carbon\Carbon::now()->startOfDay()->addHours(6)->addHours(7);
  3.  
  4.   $turnoTardeFin = \Carbon\Carbon::now()->startOfDay()->addHours(20);
  5.   $turnoNocheFin = \Carbon\Carbon::now()->startOfDay()->addHours(30);
  6.  
  7.   if(\Carbon\Carbon::now()->gte($turnoMananaInicio) &&  \Carbon\Carbon::now()->lte($turnoMananaFin) ){
  8.       echo "Mañana - Turno 1";
  9.     } elseif (\Carbon\Carbon::now()->gte($turnoMananaFin) &&  \Carbon\Carbon::now()->lte($turnoTardeFin)) {
  10.       echo "Tarde - Turno 2";
  11.     } else {
  12.      echo 'Noche - Turno 3';
  13.     }


el problema que tengo ahora es si tengo mas de 3 horarios,
  #5 (permalink)  
Antiguo 22/01/2016, 13:14
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: Comparacion de fechas

La base de datos debera tener un TimeZone y el php tendra otro o el mismo timezone que en realidad ambos se podria comparar con la clase DateTimeZone y luego con la clase DateTime.

Saludos
__________________
.: Gildus :.

Etiquetas: comparacion, fecha
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 21:55.