Поскольку 2019-11-04
- это формат ISO 8601, а LocalDate
, а другие классы java.time анализируют формат ISO 8601 в качестве значения по умолчанию, вам не требуется никакого явного средства форматирования. Просто так:
val begin = LocalDate.parse("2019-11-04")
.atStartOfDay(ZoneOffset.UTC)
.withZoneSameInstant(ZoneId.of(timeZoneIdentifier))
Если предположить, что timeZoneIdentifier
равно Europe/Bucharest
, то результатом будет ZonedDateTime
из 2019-11-04T02:00+02:00[Europe/Bucharest]
.
Вы не можете разобрать вашу строку в LocalDateTime
. Для этого потребуется не только дата, но и время суток, и, как вы знаете, ваша строка содержит только первое.
Ссылка: Статья в Википедии: ISO 8601