Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
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
Tags
more
Archives
Today
Total
관리 메뉴

개발자입니다

[Java] 특정 날짜의 요일 구하기 (숫자, 영문, 한글) 본문

Java

[Java] 특정 날짜의 요일 구하기 (숫자, 영문, 한글)

끈기JK 2022. 10. 1. 11:06

1. LocalDateTime / LocalDate (Java 8 이후)

Java 8 이후에서는,

날짜를 표현하기 위해 java.time.LocalDateTime, java.time.LocalDate 클래스가 주로 사용됩니다.

이 클래스를 사용하여, 날짜를 표현한 후 요일을 구할 수 있습니다.

 

  숫자로 구하기  

import java.time.DayOfWeek;
import java.time.LocalDate; 
 
public class GetDayOfWeek {
    public static void main(String[] args) {

        // 1. LocalDate 생성
        LocalDate date = LocalDate.of(2021, 12, 25);

        // LocalDateTime date = LocalDateTime.of(2021, 12, 25, 1, 15, 20);
        System.out.println(date); // // 2021-12-25

        // 2. DayOfWeek 객체 구하기
        DayOfWeek dayOfWeek = date.getDayOfWeek();

        // 3. 숫자 요일 구하기
        int dayOfWeekNumber = dayOfWeek.getValue();

        // 4. 숫자 요일 출력
        System.out.println(dayOfWeekNumber); // 6
    }
 
}

LocalDate date = LocalDate.of(2021, 12, 25);

LocalDateTime date = LocalDateTime.of(2021, 12, 25, 1, 15, 20);

LocalDate 는 날짜를 나타내는 클래스이고, LocalDateTime은 날짜와 시간을 나타내는 클래스입니다.

이 예제에서는 2021년 12월 25일의 요일을 구합니다.

 

DayOfWeek dayOfWeek = date.getDayOfWeek();

요일을 표현하는 DayOfWeek Enum을 가져옵니다.

이제 이, DayOfWeek Enum 을 가지고, 요일을 구할 수 있습니다.

 

int dayOfWeekNumber = dayOfWeek.getValue();

2021년 12월 25일은 토요일입니다.

DayOfWeek의 getValue() 메소드를 이용하면 요일을 숫자로 가져올 수 있습니다.

월요일부터 일요일까지 1~7의 숫자로 표현됩니다.

즉, 월요일이 1, 일요일이 7입니다.

토요일이므로, 여기서는 6이 리턴되었습니다.

 

LocalDateTime date = LocalDateTime.of(2021, 12, 25, 1, 15, 20);

날짜와 시간을 표현하는 LocalDateTime 클래스에서도

LocalDate와 마찬가지로 getDayOfWeek() 메소드를 이용하여 DayOfWeek Enum을 구할 수 있고,

이 Enum 객체를 이용하여 요일을 구할 수 있습니다.

출처: https://hianna.tistory.com/610 [어제 오늘 내일:티스토리]