Сравнение двух дат в следующем формате гггг: мм: дд чч: мм: сс - PullRequest
1 голос
/ 03 января 2011

Мне нужно сравнить две даты вместе с временной частью.

Мне нужно проверить только до чч: мм: сс.

Может ли кто-нибудь предложить какую-либо утилиту, которую я могу использовать для нее, или любое предложение для программной работы.

Спасибо

нарендра

Ответы [ 3 ]

1 голос
/ 03 января 2011

Чтобы сравнить только часть даты, самое простое, что нужно сделать, это

 int cmp = date1.substring(0, 10).compareTo(date2.substring(0,10));

Вам не нужно преобразовывать их в объект с истинной датой, поскольку строки будут в том же порядке. Это похоже на ответ @ Родиона, за исключением того, что он будет сравнивать время.

Если для вас важна производительность, я предлагаю оставить строки в виде строк, конвертировать их в объект даты относительно дорого.

0 голосов
/ 03 января 2011

Вы можете использовать сравнение строк, например: "2010:01:01 00:00:01".compareTo("2010:01:01 00:00:02").Это вернет -1, 0 или 1, когда первая дата будет раньше, такой же или после второй даты соответственно

Если у вас есть объект Date или Calendar, вы можете сравнивать даты, используя Calendar.before(date) и Calendar.after(date), но это будет учитывать миллисекунды, поэтому вам нужно быть внимательным, чтобы перед сравнением сбросить миллисекунды до 0.

Если производительность не так важна для вас, я бы предложил сравнение строк выше.

0 голосов
/ 03 января 2011

Вы можете использовать java.text.SimpleDateFormat для разбора ваших дат на Date объекты, а затем использовать getTime для сравнения. Date также реализует Comparable, так что вы можете использовать это напрямую, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...