Сравнить две даты без учета времени

401
08 августа 2017, 14:38

У меня есть дата в timestamp формате. Каким образом можно проверить равна ли она текущей дате без учета времени? Например 1502010000 она равна 6.07.2017.

Я получил данную дату и текущую, но как сравнить не понятно:

Instant date= Instant.ofEpochSecond(1502010000);
Instant now = Instant.now();
Answer 1

Java 8 представила новый механизм для работы с датами реализованный API из пакета java.time.*. В данном случае для сравнения дат можно использовать следующий макет поведения:

Timestamp timestamp = new Timestamp(1502010000);
LocalDateTime before = timestamp.toLocalDateTime();
LocalDateTime now = LocalDateTime.now();
int compareREsult = now.compareTo(before);

Если compareResult отрицательное число - если сравниваемая дата позже, положительное - если раньше и ноль если равны.

UPD:

Поскольку в вопросе есть неучтенное условие, что дата должна сравниваться без времени, то предлагается использоваться следующий вариант:

Timestamp timestamp = new Timestamp(1502041448453l);
// System.out.println(timestamp); выведет "2017-08-06 20:44:08.453"
LocalDate localDateTime = timestamp.toLocalDateTime().toLocalDate();
LocalDate now = LocalDate.now();
// System.out.println(now); выведет "2017-08-06"
// Выведет 0;
System.out.println(now.compareTo(localDateTime));
Answer 2

Я может что-то не понял, но:

https://habrahabr.ru/post/61391/

TIMESTAMP Хранит 4-байтное целое число, равное количеству секунд, прошедших с полуночи 1 января 1970 года

И данное вами число выдает 18 января 1970, а никак не 6 августа 2017

http://www.fileformat.info/tip/java/date2millis.htm

Но если у вас все отлично показывает, то можете использовать Calendar и просто обнулить время

private static Date dateRemoveTime(Date date){
        Calendar calendar = new GregorianCalendar();
        calendar.setTime(date);
        calendar.set(Calendar.HOUR, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MILLISECOND, 0);
        return calendar.getTime();
    }
READ ALSO
Разбиение Stream<String>

Разбиение Stream<String>

Есть Stream<String>, как разбить его на несколько Stream или List, относительно тех строк, которые начинаются с определенного слова (аналогично split("word")...

357
Что означает включение и выключение autocommit в Hibernate?

Что означает включение и выключение autocommit в Hibernate?

В чем разница в поведении в случаях если я устанавливаю hibernateconnection

282
Как сделать, чтобы после выбора пункта из Spinner появлялся новый Spinner (которого изначально не было)

Как сделать, чтобы после выбора пункта из Spinner появлялся новый Spinner (которого изначально не было)

Например: в первом списке мы выбираем страну, появляется новый (ниже первого), там выбираем город, появляется новый и тд пока не дойдем до конечного...

328
Кнопка в определенных координатах

Кнопка в определенных координатах

Суть: нужна кнопка которая появляется при определённом событии в 2D игре(не меню)Не всплывающее окно и не JButton

274