Щоб перетворити a Дата
заперечувати проти Місцева дата
або LocalDateTime
і навпаки в Java, ви можете використовувати java.time
представлений у Java 8. Ось докладний посібник щодо виконання цих перетворень:
1. Перетворення Дата
до Місцева дата
Використання Миттєво
і ZoneId
:
- Спочатку перетворіть
Дата
до анМиттєво
. - Потім використовуйте
Миттєво
створити aМісцева дата
з бажанимZoneId
.
імпорт java.time.Instant; імпортувати java.time.LocalDate; імпорт java.time.ZoneId; імпорт java.util.Date; public class 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("Місцева дата: " + локальна дата); }}
2. Перетворення Місцева дата
до Дата
Використання ZoneId
і Миттєво
:
- Перетворіть
Місцева дата
до аZonedDateTime
з бажанимZoneId
. - Потім перетворіть
ZonedDateTime
до анМиттєво
і використовувати його для створення aДата
.
імпортувати java.time.LocalDate; імпорт java.time.ZoneId; імпортувати java.time.ZonedDateTime; імпорт java.util.Date; public class LocalDateToDate { public static void main(String[] args) { LocalDate localDate = LocalDate.now(); // поточна дата ZonedDateTime zonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault()); Дата дата = Date.from(zonedDateTime.toInstant()); System.out.println("Місцева дата: " + локальна дата); System.out.println("Дата: " + дата); }}
3. Перетворення Дата
до LocalDateTime
Використання Миттєво
і ZoneId
:
- Спочатку перетворіть
Дата
до анМиттєво
. - Потім використовуйте
Миттєво
створити aLocalDateTime
з бажанимZoneId
.
імпортувати java.time.Instant; імпортувати java.time.LocalDateTime; імпорт java.time.ZoneId; імпорт java.util.Date; public class 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. Перетворення LocalDateTime
до Дата
Використання ZoneId
і Миттєво
:
- Перетворіть
LocalDateTime
до аZonedDateTime
з бажанимZoneId
. - Потім перетворіть
ZonedDateTime
до анМиттєво
і використовувати його для створення aДата
.
імпортувати java.time.LocalDateTime; імпорт java.time.ZoneId; імпортувати java.time.ZonedDateTime; імпорт java.util.Date; public class 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. Підведення підсумків
- Від
Дата
доМісцева дата
абоLocalDateTime
:- конвертувати
Дата
доМиттєво
. - використання
Миттєво
зZoneId
СтворюватиМісцева дата
абоLocalDateTime
.
- конвертувати
- Від
Місцева дата
абоLocalDateTime
доДата
:- використання
ZoneId
СтворюватиZonedDateTime
. - конвертувати
ZonedDateTime
доМиттєво
. - використання
Миттєво
СтворюватиДата
.
- використання
Ці методи гарантують, що перетворення зважають на часовий пояс і зберігають правильну інформацію про дату й час.