«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как преобразовать java.util.Date в типы java.time?

Как преобразовать java.util.Date в типы java.time?

Опубликовано 7 ноября 2024 г.
Просматривать:548

How do you convert java.util.Date to java.time types?

Преобразование java.util.Date в тип java.time

Устаревшие классы java.util.Date и Calendar известны своей сложностью и хлопотливость. Хотя для управления датой и временем рекомендуется использовать платформу java.time, преобразование между этими старыми и новыми типами становится необходимым при работе с существующим кодом.

Сопоставление с типами java.time

При преобразовании объекта java.util.Date в java.time крайне важно учитывать представление времени. java.util.Date представляет момент в формате UTC, комбинацию даты и времени суток. Эту концепцию можно преобразовать в несколько типов java.time:

  1. Мгновенный: Представляет момент на временной шкале в формате UTC. Преобразование с использованием метода toInstant().
  2. OffsetDateTime: Аналогично Instant, но применяет смещение от UTC, представляющее время на настенных часах для определенной местности. Используйте ZoneOffset для определения смещения.
  3. ZonedDateTime: Включает в себя как Instant, так и OffsetDateTime, обеспечивая полное представление даты и времени для определенного часового пояса. Примените ZoneId, чтобы установить часовой пояс.
  4. LocalDate: Представляет значение только даты без времени суток или часового пояса. Определите LocalDate с помощью ZonedDateTime, учитывая, что дата варьируется в зависимости от часового пояса.
  5. LocalTime: Представляет время дня без даты или часового пояса. Как и в случае с LocalDate, для определения LocalTime требуется ZonedDateTime, несмотря на отсутствие часового пояса в объекте.
  6. LocalDateTime: Комбинация LocalDate и LocalTime без определенного часового пояса. Этот тип используется редко, поскольку он обеспечивает неточное представление даты и времени.

Примечание: Преобразование из java.time в java.util.Date включает извлечение Instant, а затем применение соответствующих методов преобразования. Однако помните о потенциальной потере данных, поскольку доли секунды в java.time усекаются до миллисекунд в java.util.Date.

Подводя итог, при переходе с java.util.Date на java.time учитывайте тип, соответствующий желаемому представлению даты и времени. Используйте предоставленные методы преобразования, помня о любой потенциальной потере информации во время процесса.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3