Отображение дня недели в формате даты в Java: с примерами

Пройдите тест, узнайте какой профессии подходите
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для отображения дня недели в Java можно воспользоваться классами SimpleDateFormat или DateTimeFormatter, используя шаблон "EEEE".

Пример с SimpleDateFormat:

Java
Скопировать код
System.out.println(new SimpleDateFormat("EEEE").format(new Date()));

Пример с DateTimeFormatter (доступен начиная с Java 8):

Java
Скопировать код
System.out.println(LocalDate.now().format(DateTimeFormatter.ofPattern("EEEE")));

Оба метода вернут полное название дня недели, например, "Среда".

Пошаговый план для смены профессии

Множество форматов дат

Java предлагает большое количество форматов для отображения дат. Разберем, как выводить день недели.

Размер не всегда имеет значение: использование сокращений и комбинаций

Можно разнообразить вывод, комбинировав различные элементы даты:

Java
Скопировать код
// Краткость – сестра таланта
SimpleDateFormat sdfShort = new SimpleDateFormat("E");
System.out.println("Сокращенный формат: " + sdfShort.format(new Date())); // Выведет "Ср".

// Три в одном
SimpleDateFormat sdfCombo = new SimpleDateFormat("yyyy-MM-E");
System.out.println("Комбинация: " + sdfCombo.format(new Date())); // Выведет, например, "2023-03-Ср".

Многоязычная поддержка: дни недели с учетом локализации

Учитывайте локаль пользователя для корректного отображения дат:

Java
Скопировать код
// Вы говорите по-французски?
DateTimeFormatter formatterWithLocale = DateTimeFormatter.ofPattern("EEEE", Locale.FRENCH);
System.out.println(LocalDate.now().format(formatterWithLocale)); // Выведет "mercredi", а не "Wednesday".

Java 8+: новые возможности для работы с датами

В Java 8 появилась библиотека java.time, которая предоставила новые инструменты для работы с датой и временем:

Java
Скопировать код
DayOfWeek day = LocalDate.now().getDayOfWeek();
System.out.println(day.getDisplayName(TextStyle.FULL, Locale.ENGLISH)); // Вернет "Wednesday".

Данный подход обеспечивает потокобезопасность и большую устойчивость к ошибкам.

Когда важны недели: нумерация недель

Если вы следите за неделями и используете ISO-стандарты, можно применить TemporalField из java.time:

Java
Скопировать код
int isoWeekOfYear = LocalDate.now().get(WeekFields.ISO.weekOfYear());
System.out.println("Номер недели по ISO: " + isoWeekOfYear);

Знания из Stack Overflow и ThreeTen-Extra

Stack Overflow – ценный источник готовых решений и полезных практик. Библиотека ThreeTen-Extra расширяет возможности java.time.

Визуализация

Представьте, что календарь начал разговаривать:

Java
Скопировать код
String pattern = "EEEE"; // Магия дней недели
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
String today = simpleDateFormat.format(new Date());
System.out.println(today);
Markdown
Скопировать код
📅: "Тихонько шепчу тебе дату..."
🗓️ -> 📅: "Сегодняшний день не уйдет от меня! Это среда, ух-хах! 🗣️"
// Ваш разговорчивый календарь и волшебство "EEEE"!

Тонкий лед: обработка исключений и чтение документации

Обращение с форматами дат требует аккуратности, чтобы избежать возникновения исключений:

Java
Скопировать код
try {
    SimpleDateFormat sdf = new SimpleDateFormat("EEEE"); // Надежный инструмент для работы с датами
    System.out.println(sdf.format(new Date())); // "Вау, это дата!"
} catch(IllegalArgumentException e){
    System.err.println("Похоже, ошибка в шаблоне!");
}

Для эффективной работы с датами полезно изучить документацию по SimpleDateFormat и DateTimeFormatter.

Как настраивать отображение дат

Java позволяет креативно подходить к форматированию дат:

Java
Скопировать код
// Украсим дату!
String customPattern = "EEEE, d MMMM yyyy 'г.'";
DateTimeFormatter customFormatter = DateTimeFormatter.ofPattern(customPattern);
System.out.println(LocalDate.now().format(customFormatter)); // Выведет "Среда, 29 марта 2023 г."

Гибкая настройка отображения дат в Java открывает широкие возможности для представления данных.

Полезные материалы

  1. SimpleDateFormat (Java Platform SE 8) — Официальная документация SimpleDateFormat.
  2. DateTimeFormatter (Java Platform SE 8) — Документация по DateTimeFormatter.
  3. Использование Предопределенных Форматов (Руководства Oracle по Java™) — Руководство Oracle по форматированию дат в Java.
  4. Обзор работы с датой и временем в Java.
  5. Подробно о SimpleDateFormat в Java.
  6. Подробнее о работе с датой и временем в Java 8.
Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Какой шаблон нужно использовать для отображения полного названия дня недели в Java?
1 / 5