tl; dr
Современный подход использует java .time классов.
LocalDate
.now
(
ZoneId.of( "Africa/Casablanca" )
)
.format
(
DateTimeFormatter.ofPattern( "dd/MM/uu" )
)
Избегайте устаревших классов даты и времени
Вы используете ужасные классы даты и времени, которые были вытеснены годами go современными java .time классами, определенными в JSR 310.
java .time
Для значения только для даты, без времени суток и без часового пояса, используйте LocalDate
.
Часовой пояс необходим для определения текущей даты. В любой момент в Японии дата может быть «завтра», а в Мексике - «вчера».
ZoneId z = ZoneId.of( "America/Montreal" ) ;
LocalDate ld = LocalDate.now( z ) ;
Создать строку с текстом в стандартном формате ISO 8601.
String output = ld.toString() ;
Создайте строку с текстом в вашем пользовательском формате.
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd/MM/uu" ) ;
String output = ld.format( f ) ;
О java .time
* 1163 Фреймворк * .time встроен в Java 8 и более поздние версии. Эти классы вытесняют проблемные старые устаревшие классы даты и времени, такие как java.util.Date
, Calendar
и & SimpleDateFormat
.
Чтобы узнать больше, см. Учебник Oracle . И поиск переполнения стека для многих примеров и объяснений. Спецификация: JSR 310 .
Проект Joda-Time , теперь в режиме обслуживания , рекомендует перейти на java .time классов.
Вы можете обмениваться java .time объектами напрямую с вашей базой данных. Используйте драйвер JDB C , совместимый с JDB C 4.2 или более поздней версией. Нет необходимости в строках, нет необходимости в java.sql.*
классах. Поддержка Hibernate 5 и JPA 2.2 java .time .
Где взять java .time классы?