entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

En la web únicamente encuentro sumas y restas de días pero no se como enfocarlo a mi problema.

1voto

Leonardo-Tadei comentado

En qué formato tenés las fechas?

0voto

Leo_Alvarado22 comentado

Las fechas que llamo de la DB estan en formato (YYYY-MM-DD).

Necesito comparar con php la fecha de hoy con dos fechas almacenadas en la base de datos Mysql.

Es decir: si hoy esta entre fecha inicio de contrato y fecha fin de contrato entonces imprimir activo. si no imprimir inactivo.

de antemano gracias!!! soy principiante y su ayuda me sirve de mucho ...!!!

3 Respuestas

1voto

Andhii1293 Puntos2920

Necesitas dar mas información sobre el lenguaje que usas, PHP, HTML, tu BD.. etc.

Pero si de algo te sirve, la lógica para resolver tu problema se podría resolver validando si las fechas que jalas de la BD son mayor/menor a la fecha actual algo así:

SI(fechaA<fechaactual<fechaB)
{mi fecha actual esta entre ambos días.}
SINO
{mi fecha actual no esta entre ambos días}

NOTA: cabe aclarar que no escribo en base a ningún lenguaje es solo la lógica de como podrías resolver tu problema en todo caso tu tendrías que adaptar esa lógica al lenguajes, con sus métodos, funciones, y propiedades que le corresponden.

Saludos.

0voto

wroque comentado

if (a < b < c)
{
esto me parece que esta mal

no sé si es viernes o no entiendo la pregunta o es tan obvia que usar un

select * from where a between b and c

ojala que no, y sea algo más complejo, que no entiendo..

0voto

Leo_Alvarado22 comentado

El lenguaje es PHP... Tengo dos fechas en my DB MySQL... mi pregunta es como llamarlos dese mi base de datos? si hay que convertirlo a otro formato para poder comparar si la fecha de hoy esta entre esas dos fechas? si está imprimir "activo" si no imprimir "inactivo".
de antemano gracias. soy principiante... ;)

2votos

cobasESP Puntos19650

Sacas la fecha que tienes en la DB y la guardas en una variable, creas un array con el rango de fechas, creas una variable booleana en false, con un bucle for recorres el array, si la fecha de la DB coincide en algun momento con alguna del array, cambias a true el booleano, despues del bucle for un if() para comprobar si es true o false la variable. Rapido y sencillo.

1voto

bl4z3r Puntos16850

El planteo se sencillo, siempre y cuando, se respeten ciertas reglas.

  • Las columnas de fechas deben ser del tipo date o datetime.
  • La función incorporada por el motor de base de datos puede variar. En este caso use SQL Server.
  • Esto solo es para una sola tabla. Si hay mas tablas en juego, cambia la sentencia SQL.

He aquí, la solución:

SELECT
    CASE COUNT(*)
        WHEN 0 THEN 'No esta entre las fechas seleccionadas.'
        ELSE 'Esta entre las fechas seleccionadas.'
    END AS Columna1
FROM
    Tabla
WHERE
    GETDATE() BETWEEN ColumnaFecha1 AND ColumnaFecha2;

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta