Как получить день недели из даты в Java?

Пользователь

от magali , в категории: Java , 2 года назад

Как получить день недели из даты в Java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от willis.streich , 2 года назад

@magali 

Чтобы получить день недели из даты в Java, вы можете использовать класс Calendar из пакета java.util.


Ниже приведен пример кода, который демонстрирует, как это сделать:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.util.Calendar;
import java.util.Date;

public class Main {
  public static void main(String[] args) {
    // Создаем объект Calendar для текущей даты
    Calendar calendar = Calendar.getInstance();

    // Устанавливаем дату в календаре
    calendar.setTime(new Date());

    // Получаем день недели в виде числа (понедельник - 1, вторник - 2, ...)
    int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);

    // Переводим число в строку и выводим на экран
    switch (dayOfWeek) {
      case Calendar.MONDAY:
        System.out.println("Понеделник");
        break;
      case Calendar.TUESDAY:
        System.out.println("Вторник");
        break;
      case Calendar.WEDNESDAY:
        System.out.println("Среда");
        break;
      case Calendar.THURSDAY:
        System.out.println("Четверг");
        break;
      case Calendar.FRIDAY:
        System.out.println("Пятница");
        break;
      case Calendar.SATURDAY:
        System.out.println("Суббота");
        break;
      case Calendar.SUNDAY:
        System.out.println("Воскресенье");
        break;
    }
  }
}


В этом примере мы создаем объект Calendar, устанавливаем текущую дату, затем используе

Пользователь

от catherine_wintheiser , год назад

@magali 

В Java вы можете использовать класс Calendar или класс LocalDate из java.time для получения дня недели из даты.


Вот пример использования класса Calendar:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import java.util.Calendar;

public class Main {
    public static void main(String[] args) {
        // Создание объекта Calendar
        Calendar calendar = Calendar.getInstance();

        // Задание даты
        calendar.set(2022, Calendar.FEBRUARY, 25); // Год, месяц (начиная с 0), день

        // Получение дня недели
        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);

        // Вывод результата
        System.out.println("День недели: " + dayOfWeek);
    }
}


В этом примере dayOfWeek будет содержать следующие значения:

  • Calendar.SUNDAY (1) для воскресенья
  • Calendar.MONDAY (2) для понедельника
  • Calendar.TUESDAY (3) для вторника
  • Calendar.WEDNESDAY (4) для среды
  • Calendar.THURSDAY (5) для четверга
  • Calendar.FRIDAY (6) для пятницы
  • Calendar.SATURDAY (7) для субботы


Вы также можете использовать класс LocalDate из java.time для этой задачи. Вот пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import java.time.LocalDate;
import java.time.DayOfWeek;

public class Main {
    public static void main(String[] args) {
        // Задание даты
        LocalDate date = LocalDate.of(2022, 2, 25); // Год, месяц, день

        // Получение дня недели
        DayOfWeek dayOfWeek = date.getDayOfWeek();

        // Вывод результата
        System.out.println("День недели: " + dayOfWeek);
    }
}


В этом примере dayOfWeek будет содержать следующие значения:

  • DayOfWeek.SUNDAY для воскресенья
  • DayOfWeek.MONDAY для понедельника
  • DayOfWeek.TUESDAY для вторника
  • DayOfWeek.WEDNESDAY для среды
  • DayOfWeek.THURSDAY для четверга
  • DayOfWeek.FRIDAY для пятницы
  • DayOfWeek.SATURDAY для субботы