본문 바로가기
개발/Java

[Java]Java로 오늘이 몇 주차인지 알아보기! (코딩으로 달력 읽는 마법 배우기)

by 쓸있쏜 2024. 12. 18.
728x90

안녕, 친구들! 오늘은 우리가 아주 흥미로운 질문을 하나 던져볼 거야. 지금 우리가 있는 오늘이 이 달의 몇 번째 주인지 궁금했던 적 있니? 달력을 손으로 세어볼 필요 없어! Java로 순식간에 답을 찾을 수 있거든. 자, 한 번 재미있게 탐험해보자고!


🍀 달의 주차를 왜 알아야 할까?

생각해봐, 학교에서 "3주차 과제 제출하세요!"라고 말할 때, 머릿속에 물음표가 떠오르지 않니? 직장에서도 "다음 달 첫 주에 회의가 있어요"라는 말을 들으면, 그 첫 주가 대체 며칠인지 헷갈릴 수 있어. 여기서 코딩의 마법이 등장해! Java로 이런 문제를 한 번에 해결할 수 있단다.


🛠️ 오늘의 비법: java.time 패키지

우리는 오늘도 java.time이라는 강력한 친구를 불러올 거야. LocalDate, TemporalField, 그리고 IsoFields 같은 멋진 도구들을 사용할 거야. 어때, 이름부터 벌써 멋있지?


🎯 미션: 오늘이 몇 주차인지 구하기

우리 목표는 간단해! 오늘이 달의 몇 번째 주인지 계산해보는 거야. 먼저 코드를 보여줄게.

import java.time.LocalDate;
import java.time.temporal.IsoFields;

public class WeekOfMonthCalculator {
    public static void main(String[] args) {
        // 오늘 날짜 가져오기
        LocalDate today = LocalDate.now();

        // 오늘이 이 달의 몇 주차인지 계산
        int weekOfMonth = today.get(IsoFields.WEEK_OF_MONTH);

        // 결과 출력
        System.out.println("오늘은 이 달의 " + weekOfMonth + "번째 주입니다.");
    }
}

🌟 코드, 어렵지 않아요!

1️⃣ LocalDate.now()
현재 날짜를 가져오는 마법 주문이야. 컴퓨터가 알아서 오늘 날짜를 딱 가져와줘.

2️⃣ IsoFields.WEEK_OF_MONTH
이건 날짜의 주차를 계산하는 데 필요한 도구야. 달력을 읽는 코딩 세계의 루페 같은 거지!

3️⃣ today.get()
날짜 객체에서 우리가 원하는 정보를 꺼내오는 방법이야. 여기선 주차를 꺼내오고 있어.


📖 실행 결과는?

만약 오늘이 2024년 12월 18일이라고 가정해볼게. 위 코드를 실행하면 이런 결과가 나올 거야.

오늘은 이 달의 3번째 주입니다.

어때, 진짜 간단하지 않아?


🌳 이 코드를 조금 더 응용해볼까?

"그래, 오늘이 3주차라는 건 알겠는데, 지난주 날짜나 다음 주 날짜도 알고 싶어!" 이런 생각이 들지 않니? 아래처럼 조금만 더 추가해보자.

import java.time.DayOfWeek;

public class WeekDetails {
    public static void main(String[] args) {
        LocalDate today = LocalDate.now();

        // 이번 주의 시작일과 종료일 계산
        LocalDate startOfWeek = today.with(DayOfWeek.MONDAY);
        LocalDate endOfWeek = today.with(DayOfWeek.SUNDAY);

        System.out.println("이번 주의 시작은 " + startOfWeek + "이고, 끝은 " + endOfWeek + "입니다.");
    }
}

이 코드를 실행하면 이번 주의 시작일과 끝나는 날짜까지 알 수 있어! 이 정도면 코딩 만렙 느낌 나지 않니?


🧩 재밌는 도전 과제!

자, 이제 내가 몇 가지 숙제를 내줄게. 직접 한 번 도전해봐!

1️⃣ "매달 마지막 주의 월요일은 언제일까?"
2️⃣ "특정 날짜가 포함된 주차의 모든 날짜를 리스트로 출력해보자."
3️⃣ "연도의 몇 번째 주인지 계산하려면 어떻게 해야 할까?"

힌트는 오늘 배운 java.time 패키지에 숨어 있으니, 하나하나 시도해보자!


🛤️ 마무리하며...

이렇게 Java로 달력의 주차를 알아내는 법을 배웠어. 이건 단순히 날짜를 계산하는 코드가 아니야. 우리가 시간이라는 추상적인 개념을 구체적으로 다룰 수 있도록 해주는 놀라운 도구인 거지.

그럼, 오늘 배운 걸 가지고 친구들에게 자랑도 하고, 직접 코드도 짜보자. "내가 몇 주차에 살고 있는지 바로 계산할 수 있다!"라며 멋지게 말하는 날을 기대할게. 😊

 

728x90

댓글