spanish now name month formato fecha espaƱol convertir con datetime grails groovy

now - Convertir datetime en fecha



formato fecha c# (7)

¿Has probado usando jodatime ? Hace que trabajar con fecha y hora en Java sea mucho más fácil.

¿Cómo convierto un campo de fecha y hora en Grails en una fecha, sin capturar el tiempo? Necesito hacer esto para comparar con la fecha del sistema.

class Trip { String name String city Date startDate Date endDate String purpose String notes static constraints = { name(maxLength: 50, blank: false) startDate(validator: {return (it >= new Date())}) // This won''t work as it compares the time as well city(maxLength: 30, blank: false) } }


Desafortunadamente no hay un método "listo para usar" para realizar esta operación en Grails|Groovy|Java .

Alguien siempre lanza Joda-Time cada vez que se plantea una pregunta java.util.Date o java.util.Calendar , pero incluir otra biblioteca no siempre es una opción.

Más recientemente, para un problema similar, creamos una clase DateTimeUtil con métodos static y algo como lo siguiente para obtener una Date solamente:

class DateTimeUtil { // ... public static Date getToday() { return setMidnight(new Date()) } public static Date getTomorrow() { return (getToday() + 1) as Date } public static Date setMidnight(Date theDate) { Calendar cal = Calendar.getInstance() cal.setTime(theDate) cal.set(Calendar.HOUR_OF_DAY, 0) cal.set(Calendar.MINUTE, 0) cal.set(Calendar.SECOND, 0) cal.set(Calendar.MILLISECOND, 0) cal.getTime() } //... }

Luego, en el validador, puedes usar

startDate(validator: {return (it.after(DateTimeUtil.today))}) //Groovy-ism - today implicitly invokes `getToday()`


Intente usar ''java.sql.Date'' not ''java.util.Date'' como un tipo de su propiedad Date junto con

formatDate

Propósito

Permite formatear instancias java.util.Date utilizando los mismos patrones definidos por la clase SimpleDateFormat.

Ejemplos

Descripción

Atributos

* format (required) - The format to use for the date * date (required) - The date object to format


Lo descifré:

startDate (validator: {return (it> = new Date () - 1)})

Fue así de simple ;-)

Para cambiar la vista en la página GSP:

<g:datePicker name="startDate" value="${trip?.startDate}" years="${years}" precision="day" />

Gracias a todos por la contribución


Mejor uso del plugin de calendario en Grails.


Deberías usar startdate.clearTime()

Hacemos esto sobrescribiendo al colocador para nuestras clases de dominio que solo necesitan la fecha y no la hora. De esta forma, podemos comparar las fechas de dos instancias sin tener que hacer esto más tarde. :

def setStartDate( Date date ) { date.clearTime() startDate = date }


Tal vez

startDate(validator: {d = new Date(); return (it..d) >= 0})