Вы правы и более того.Хотя классы Date
, Calendar
и Timestamp
официально еще не устарели, они давно устарели, и из-за их проблем с дизайном мы не должны использовать их, когда можем этого избежать.
Я не Spring Bootпользователь и не знает, что передать на запрос вместо старомодного Date
.Я бы очень ожидал, что существует более современное решение, использующее один из современных типов из API java.time (где принадлежат OffsetDateTime
, Instant
и DateTimeFormatter
).Если вам нужно только указать дату, а не время суток, то LocalDate
будет логичным, но, как я уже сказал, я не знаю.
Если вам обязательно нужен Date
дляЗапрос Spring Boot:
private static Date getToday() {
Instant instant = Instant.now();
return Date.from(instant);
}
Что пошло не так в вашем коде? Чтобы разобрать в OffsetDateTime
вашу строку даты и времени и строку шаблона формата, необходимо указать не толькодата, а также время суток и смещение UTC (или вам нужно указать их другим способом).В вашем коде OffsetDateTime
успешно проанализировал 2019-02-16
как yyyy-MM-dd
, и, поскольку шаблон форматирования не был длиннее, он пожаловался, что строка из Timestamp.toString
была.Однако сокращение строки не помогло бы, потому что тогда бы отсутствовало время суток, и в любом случае было бы смещение UTC, поэтому оно не могло бы сработать.