Estoy investigando un problema y encontré algún código sospechoso que implica la comparación de instancias de fecha usando operadores de comparación. p.ej.Uso de operadores de comparación de Groovy con objetos de fecha
def stamp = ... //Date
def offset = ... //Integer
def d = new Date(stamp.time + offset)
if (d < new Date()) {
...
}
This recurso indica lo anterior es equivalente a la siguiente
def stamp = ... //Date
def offset = ... //Integer
def d = new Date(stamp.time + offset)
if (d.compareTo(new Date()) < 0) {
...
}
Sin embargo, el GDK documentation on Dates Sólo hay ejemplos que comparan las fechas usando compareTo
, before
y after
y me parece recordar específicamente evitar el uso de la comparación operadores en Fechas debido a una experiencia con resultados inesperados. ¿Son los dos ejemplos de código anteriores equivalentes (es decir, puedo usar operadores de comparación de forma segura en Groovy, o debería usar solo compareTo
, before
y after
)?
Gracias!
Experimenté con esto en GroovyConsole, pero me temo que me puede estar faltando algún caso de esquina que involucre los diferentes componentes de una Fecha. –
cómo saber el valor de dos fechas es el mismo? ¿Es así d.compareTo (new Date()) == 0)? gracias – danielad