Tengo dos cadenas de fechas que dicen "2011-04-29" y "2011-01-28", y quiero compararlas usando Joda Time. Hay una manera de hacer eso ?. Un ejemplo sería realmente apreciado.Comparando cadenas de fechas usando la biblioteca de tiempo joda
Gracias
Tengo dos cadenas de fechas que dicen "2011-04-29" y "2011-01-28", y quiero compararlas usando Joda Time. Hay una manera de hacer eso ?. Un ejemplo sería realmente apreciado.Comparando cadenas de fechas usando la biblioteca de tiempo joda
Gracias
convertir las cadenas a los objetos de fecha y comparar esos.
Primero debes analizarlos. Utilice DateTimeFormat
:
DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd");
DateTime dateTime1 = fmt.parseDateTime(string1);
A continuación, utilice DateTime.isBefore(..)
compararlos:
if (dateTime1.isBefore(dateTime2))
Si sus cadenas de fecha están en formato "aaaa-MM-dd" se puede aplicar sencilla comparación de cadenas:
String s1 = new String("2012-01-27");
String s2 = new String("2011-01-28");
System.out.println(s1.compareTo(s2));
El resultado será VERDADERO si s1 es lexicográficamente "más grande" que s2 y eso es lo que necesita. Para obtener más información, lea javadoc para el método compareTo().
¿por qué le gustaría crear una nueva cadena? – Bozho
solo para estuche de estudio –
también se puede utilizar ltn4java la biblioteca de la siguiente manera:
DataCompare dc = new DataCompare();
int Resultado;
Resultado = dc.compareWithTwoDatesString("2011-04-29","2011-01-28","yyyy-MM-dd");
La página de descarga de la biblioteca es http://code.google.com/p/ltn4java/downloads/list
Además de @ respuesta de Bozho podemos utilizar AbstractInterval.isAfter :
if (dateTime2.isAfter(dateTime1))
¿Qué quiere decir con "compararlos"? – skaffman
Me refiero a determinar qué viene primero – Jim
Las fechas en ese formato ya son comparables como cadenas, no necesitas Jodatime. – skaffman