Сравнение строк даты с использованием библиотеки времени joda - PullRequest
7 голосов
/ 29 апреля 2011

У меня есть две строки с датами: «2011-04-29» и «2011-01-28», и я хочу сравнить их, используя Joda Time.Есть способ сделать это ?.Пример был бы очень признателен.

Спасибо

Ответы [ 5 ]

7 голосов
/ 29 апреля 2011

Сначала вам нужно разобрать их. Используйте DateTimeFormat:

DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd");
DateTime dateTime1 = fmt.parseDateTime(string1);

Затем используйте DateTime.isBefore(..) для сравнения:

if (dateTime1.isBefore(dateTime2))
3 голосов
/ 20 сентября 2012

Может также использоваться ltn4java библиотека следующим образом:

    DataCompare dc = new DataCompare();
    int Resultado;
    Resultado = dc.compareWithTwoDatesString("2011-04-29","2011-01-28","yyyy-MM-dd");

Страница загрузки библиотеки http://code.google.com/p/ltn4java/downloads/list

2 голосов
/ 29 апреля 2011

Если ваши строки даты имеют формат «гггг-мм-дд», вы можете применить простое сравнение строк:

String s1 = new String("2012-01-27");
String s2 = new String("2011-01-28");
System.out.println(s1.compareTo(s2));

Результат будет ИСТИНА, если s1 лексикографически «больше», чем s2, и это то, что вам нужно. Чтобы получить больше информации, прочитайте javadoc для метода compareTo ().

0 голосов
/ 25 ноября 2012

В дополнение к ответу @ Божо мы можем использовать AbstractInterval.isAfter :

if (dateTime2.isAfter(dateTime1))
0 голосов
/ 29 апреля 2011

Преобразуйте строки в объекты даты и сравните их.

...