Чтобы преобразовать Дата
Возражать Локалдате
или ЛокальныйДатаВремя
и наоборот в Java вы можете использовать java.time
пакет, представленный в Java 8. Вот подробное руководство по выполнению этих преобразований:
1. Конвертация Дата
к Локалдате
С использованием Мгновенный
и Идентификатор Зоны
:
- Сначала преобразуйте
Дата
дляМгновенный
. - Затем используйте
Мгновенный
создатьЛокалдате
с желаемымИдентификатор Зоны
.
импортировать java.time.Instant; импортировать java.time.LocalDate; импортировать java.time.ZoneId; импортировать java.util.Date; общественный класс DateToLocalDate {public static void main(String[] args) {Date date = new Date(); // текущая дата Instant Instant = date.toInstant(); LocalDate localDate = Instant.atZone(ZoneId.systemDefault()).toLocalDate(); System.out.println("Дата: " + дата); System.out.println("LocalDate: " + localDate); } }
2. Конвертация Локалдате
к Дата
С использованием Идентификатор Зоны
и Мгновенный
:
- Преобразуйте
Локалдате
кЗонированныйДатаВремя
с желаемымИдентификатор Зоны
. - Затем преобразуйте
ЗонированныйДатаВремя
дляМгновенный
и использовать его для созданияДата
.
импортировать java.time.LocalDate; импортировать java.time.ZoneId; импортировать java.time.ZonedDateTime; импортировать java.util.Date; общественный класс LocalDateToDate {public static void main(String[] args) {LocalDate localDate = LocalDate.now(); // текущая дата ZonedDateTime ZonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault()); Дата дата = Date.from(zonedDateTime.toInstant()); System.out.println("LocalDate: " + localDate); System.out.println("Дата: " + дата); } }
3. Конвертация Дата
к ЛокальныйДатаВремя
С использованием Мгновенный
и Идентификатор Зоны
:
- Сначала преобразуйте
Дата
дляМгновенный
. - Затем используйте
Мгновенный
создатьЛокальныйДатаВремя
с желаемымИдентификатор Зоны
.
импортировать java.time.Instant; импортировать java.time.LocalDateTime; импортировать java.time.ZoneId; импортировать java.util.Date; общественный класс DateToLocalDateTime {public static void main(String[] args) {Date date = new Date(); // текущая дата Instant Instant = date.toInstant(); LocalDateTime localDateTime = Instant.atZone(ZoneId.systemDefault()).toLocalDateTime(); System.out.println("Дата: " + дата); System.out.println("LocalDateTime: " + localDateTime); } }
4. Конвертация ЛокальныйДатаВремя
к Дата
С использованием Идентификатор Зоны
и Мгновенный
:
- Преобразуйте
ЛокальныйДатаВремя
кЗонированныйДатаВремя
с желаемымИдентификатор Зоны
. - Затем преобразуйте
ЗонированныйДатаВремя
дляМгновенный
и использовать его для созданияДата
.
импортировать java.time.LocalDateTime; импортировать java.time.ZoneId; импортировать java.time.ZonedDateTime; импортировать java.util.Date; общественный класс LocalDateTimeToDate {public static void main(String[] args) { LocalDateTime localDateTime = LocalDateTime.now(); // текущая дата и время ZonedDateTime ZonedDateTime = localDateTime.atZone(ZoneId.systemDefault()); Дата дата = Date.from(zonedDateTime.toInstant()); System.out.println("LocalDateTime: " + localDateTime); System.out.println("Дата: " + дата); } }
5. Резюме
- От
Дата
кЛокалдате
илиЛокальныйДатаВремя
:- Конвертировать
Дата
кМгновенный
. - Использовать
Мгновенный
сИдентификатор Зоны
создаватьЛокалдате
илиЛокальныйДатаВремя
.
- Конвертировать
- От
Локалдате
илиЛокальныйДатаВремя
кДата
:- Использовать
Идентификатор Зоны
создаватьЗонированныйДатаВремя
. - Конвертировать
ЗонированныйДатаВремя
кМгновенный
. - Использовать
Мгновенный
создаватьДата
.
- Использовать
Эти методы гарантируют, что преобразования учитывают часовой пояс и сохраняют правильную информацию о дате и времени.