ТЛ; др
myGregCal // `GregorianCalendar` is a legacy class, supplanted by the modern `java.time.ZonedDateTime` class.
.toZonedDateTime() // Convert to `ZonedDateTime`.
.getDayOfWeek(). // Extract a `DayOfWeek` enum object, one of seven pre-defined objects, one for each day of the week.
.getDisplayName( // Automatically localize, generating a `String` to represent the name of the day of the week.
TextStyle.SHORT , // Specify how long or abbreviated.
Locale.US // Locale determines the human language and cultural norms used in localization.
) // Returns a `String` object.
ПН
LocalDate.now( ZoneId.of( "Africa/Tunis" ) ) // Get current date for people in a certain region, without time-of-day and without time zone.
.getDayOfWeek() // Extract a `DayOfWeek` enum object.
.getDisplayName( TextStyle.FULL , Locale.CANADA_FRENCH ) // Generate a string representing that day-of-week, localized using the human language and cultural norms of a particular locale.
Ланди
java.time
Преобразует проблемное старое устаревшее java.util.GregorianCalendar
объект в современный объект java.time, вызывая новые методы, добавленные в старый класс.
ZonedDateTime zdt = myGregCal.toZonedDateTime();
Получить объект перечисления DayOfWeek
для этого момента в этом часовом поясе.
DayOfWeek dow = zdt.getDayOfWeek();
dow.toString (): СРЕДА
Передавайте эти DayOfWeek
объекты вокруг вашего кода вместо передачи целых чисел, таких как 1-7, или строк, таких как "MON". Используя объекты enum, вы делаете свой код более самодокументируемым, обеспечивает безопасность типов и обеспечивает диапазон допустимых значений.
Для представления пользователю попросите объект DayOfWeek
перевести название дня недели на человеческий язык, определенный в Locale
.
String output =
dow.getDisplayName(
TextStyle.FULL_STANDALONE ,
Locale.CANADA_FRENCH
)
;
MERCREDI
О 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?