2011-04-29 23 views
7

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

+0

¿Qué quiere decir con "compararlos"? – skaffman

+0

Me refiero a determinar qué viene primero – Jim

+2

Las fechas en ese formato ya son comparables como cadenas, no necesitas Jodatime. – skaffman

Respuesta

0

convertir las cadenas a los objetos de fecha y comparar esos.

7

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)) 
2

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().

+0

¿por qué le gustaría crear una nueva cadena? – Bozho

+0

solo para estuche de estudio –

3

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

Cuestiones relacionadas