안녕, 친구들! 오늘은 우리가 아주 흥미로운 질문을 하나 던져볼 거야. 지금 우리가 있는 오늘이 이 달의 몇 번째 주인지 궁금했던 적 있니? 달력을 손으로 세어볼 필요 없어! 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로 달력의 주차를 알아내는 법을 배웠어. 이건 단순히 날짜를 계산하는 코드가 아니야. 우리가 시간이라는 추상적인 개념을 구체적으로 다룰 수 있도록 해주는 놀라운 도구인 거지.
그럼, 오늘 배운 걸 가지고 친구들에게 자랑도 하고, 직접 코드도 짜보자. "내가 몇 주차에 살고 있는지 바로 계산할 수 있다!"라며 멋지게 말하는 날을 기대할게. 😊
'개발 > Java' 카테고리의 다른 글
[Java] 서버에 있는 파일 다운로드 코드를 쉽게 만들어보자! (0) | 2025.01.06 |
---|---|
[Java] Equals는 왜 중요한가? (0) | 2024.12.23 |
[Java] Java의 세션 키를 생성하고 사용하는 방법! (1) | 2024.12.17 |
[Java] Properties 파일을 만들고 사용하는 법: 마법처럼 쉽게 배워보자! (0) | 2024.12.17 |
[Java] MyBatis 의 IN 쿼리 사용방법을 마스터 해봐요! (0) | 2024.12.11 |
댓글