java.time
Фреймворк java.time встроен в Java 8 и более поздние версии. Эти новые классы вытесняют старые классы даты и времени, включенные в самые ранние версии Java. Эти классы также вытесняют очень успешный Joda-Time фреймворк и создаются теми же людьми, в том числе и во главе с Стивеном Колборном .
ThreeTen-Extra
Проект ThreeTen-Extra является официальным расширением инфраструктуры java.time , встроенной в Java 8 и более поздние версии. Этот проект является испытательным полигоном для возможных будущих дополнений к java.time и должен быть полезен сам по себе.
Weeks
класс
Этот проект включает в себя Weeks
класс для представления количества недель. Он не только может вычислять, он также предназначен для использования в вашем коде как объект, безопасный для типов. Такое использование также помогает сделать ваш код самодокументированным.
Вы можете создать экземпляр, указав пару точек во времени с помощью метода Weeks.between
. Этими моментами времени может быть все, что реализует java.time.temporal.Temporal , включая Instant
, LocalDate
, OffsetDateTime
, ZonedDateTime
, Year
, YearMonth
и др.
Ваши java.util.Date
объекты могут быть легко преобразованы в Instant
объекты, моменты на временной шкале в UTC с разрешением в наносекундах. Посмотрите на новые методы, добавленные к старым классам даты и времени. Для перехода от даты к моменту звоните java.util.Date::toInstant
.
Instant start = utilDateStart.toInstant();
Instant stop = utilDateStop.toInstant();
Weeks weeks = Weeks.between( start , stop );
Вы можете запросить количество недель. Вы также можете сделать много больше.
int weeksNumber = weeks.getAmount(); // The number of weeks in this Weeks object.
О java.time
Фреймворк java.time встроен в Java 8 и более поздние версии. Эти классы вытесняют проблемные старые устаревшие классы даты и времени, такие как java.util.Date
, Calendar
и & SimpleDateFormat
.
Проект Joda-Time , теперь в режиме обслуживания , рекомендует выполнить переход на классы java.time .
Чтобы узнать больше, см. Oracle Tutorial . И поиск переполнения стека для многих примеров и объяснений. Спецификация JSR 310 .
Вы можете обмениваться java.time объектами непосредственно с вашей базой данных. Используйте драйвер JDBC , совместимый с JDBC 4.2 или более поздней версии. Нет необходимости в строках, нет необходимости в java.sql.*
классах.
Где получить классы java.time?
Проект ThreeTen-Extra расширяет java.time дополнительными классами. Этот проект является полигоном для возможных будущих дополнений к java.time. Здесь вы можете найти некоторые полезные классы, такие как Interval
, YearWeek
, YearQuarter
и more .