java.time
Если вы сохранили дату в виде текста, выполните синтаксический анализ как LocalDate
.
LocalDate localDate = LocalDate.parse( input ) ;
Если вы более правильно сохранили дату встолбец типа, подобного стандартному SQL-типу DATE
, извлекается как LocalDate
.
LocalDate localDate = myResultSet.getObject( … , LocalDate.class ) ;
Захватывает текущую дату, как видно из времени настенных часов, используемого людьми определенногорегион (часовой пояс).
ZoneId z = ZoneId.of( "America/Montreal" ) ;
LocalDate today = LocalDate.now( z ) ;
Рассчитать время прыжка в днях.
long days = ChronoUnit.DAYS.between( localDate , today ) ;
Совет. Чтобы представить диапазон дат, пару LocalDate
объектов, добавьте ThreeTen-Дополнительная библиотека для вашего проекта. Используйте класс LocalDateRange
.
LocalDateRange range = LocalDateRange.of( localDate , today ) ;
О java.time
Среда java.time встроена в Java 8и позже. Эти классы заменяют проблемные старые устаревшие классы даты и времени, такие как java.util.Date
, Calendar
, & SimpleDateFormat
.
Чтобы узнать больше, см. Oracle Tutorial . И поиск переполнения стека для многих примеров и объяснений. Спецификация: JSR 310 .
Проект Joda-Time , теперь в режиме обслуживания , рекомендует перейти на java.time классы.
Вы можете обмениваться java.time объектами напрямую с вашей базой данных. Используйте драйвер JDBC , совместимый с JDBC 4.2 или более поздней версии. Нет необходимости в строках, нет необходимости в java.sql.*
классах.
Где получить классы java.time?
ThreeTen-Extra Проект расширяет java.time дополнительными классами. Этот проект является полигоном для возможных будущих дополнений к java.time. Здесь вы можете найти несколько полезных классов, таких как Interval
, YearWeek
, YearQuarter
и more .