Получение запроса по дате - ОШИБКА: оператор не существует: отметка времени без часового пояса ~~ неизвестно - PullRequest
1 голос
/ 26 марта 2020

Я пытаюсь получить сумму цифр по сегодняшней дате. Мой подход состоит в том, чтобы использовать LocalDateTime, отформатированный как ниже

yyyy-MM-dd HH:mm:ss

И дата, которую я выбираю с сервера, имеет этот формат

2020-03-26 12:36:14.48947

Поскольку изменение даты постоянно меняется, меня интересует чтобы справиться с этим 2020-03-26 , поскольку оба будут существовать с отформатированной сегодняшней даты и даты с сервера

Вот запрос, который я использую

"... AND p.regDate LIKE :todayDate..." 

Вот DateTimeFormertter

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime today = null;
today = LocalDateTime.now();
System.out.println("here is today " + today);

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

1 Ответ

2 голосов
/ 26 марта 2020

Прежде всего, вам нужно LocalDate, а не LocalDateTime для вашего запроса:

LocalDate today = LocalDate.now(); // current date "2020-03-26"
// or a custom LocalDate
LocalDate today = LocalDate.of(2020, Month.MARCH, 26);

И затем, чтобы получить часть даты из datetime в вашей базе данных, вы можете использовать:

"... AND DATE(p.regDate) = :todayDate..." 

Где: DATE(p.regDate) извлечь только часть даты, сравнить с =, а не LIKE

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