Secciones

Artículos para tus primeros pasos

Si estás empezando a introducirte en el mundo de Groovy y Grails, no te pierdas nuestros artículos básicos: 

Entrevistas con los expertos
 

Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:


Un proyecto de:
ImaginaWorks
Campus Escuela de Groovy

Grails

Quien cumple años los ocho días siguientes

Henry Stivens - martes 22/07/2008

Hola!

Tengo la clase Clientes, y uno de sus atibutos es la fechaDeNacimiento. Deseo realizar una consulta que me traiga los clientes que cumplan años dentro los ocho días siguientes a la fecha actual. Estoy usando MySql.

Les agradezco su ayuda de antemano. 

Re: Quien cumple años los ocho días siguientes

Henry Stivens - miércoles 23/07/2008

 Encontré una solución!:

[code]

        Calendar cal = new GregorianCalendar();
        cal.setTimeInMillis(System.currentTimeMillis());
        cal.add(Calendar.DATE, 8);
        Date ochoDias = new Date(cal.getTimeInMillis());        

        if(!params.max) params.max = 10
        [ clienteList: Cliente.findAll("from Cliente where date_format(fechaDeNacimiento, '%m-%d') between date_format(now(), '%m-%d') and date_format('"+ochoDias+"', '%m-%d')") ]

[/code]

Importando el paquete java.sql.Date

Quise utilizar la funcion date_add para sumar los ocho días a la fecha actual, pero al parecer no es soportada por Hibernate con MySQL.

No se si sea el código mas adeacuado pero me ha dado el resultado esperado.

Re: Quien cumple años los ocho días siguientes

Pablo Riesgo - jueves 24/07/2008

Hola,

También puedes sumar a la fecha "a pelo"

def date = new Date()

def ochoDias = date + 8   //suma ocho dias dejando las horas tal cual

Un saludo,

Pablo.

Responder al hilo | Volver al foro "Grails" | Volver a los foros