0Pricing
Java Academy · 강의

Period와 날짜 산술

날짜를 더하고 뺍니다

Period와 날짜 산술은(는) CoddyKit의 무료 Java Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Java Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

날짜 기반 양

Duration이 시간을 시간과 초 단위로 측정한다면, Period는 연, 월, 일 단위의 양을 측정합니다. 나이와 기한처럼 달력을 기준으로 계산할 때 적합한 도구입니다.

일 더하기

LocalDate는 앞으로 이동할 때 사용하는 plusDays를 제공합니다. 결과는 새로운 불변 값이라는 점을 기억하십시오.

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate start = LocalDate.of(2026, 5, 30);
        System.out.println(start.plusDays(10));
    }
}

월과 연 더하기

plusMonths와 plusYears는 더 큰 단위로 이동하며 각 달의 일수도 올바르게 처리합니다.

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate start = LocalDate.of(2026, 1, 31);
        System.out.println(start.plusMonths(1));
        System.out.println(start.plusYears(2));
    }
}

날짜 빼기

minusDays, minusWeeks와 같은 메서드를 사용하여 시간을 과거 방향으로 이동하십시오.

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2026, 5, 30);
        System.out.println(date.minusWeeks(2));
    }
}

기간 생성

of 또는 ofMonths와 같은 단일 단위 팩토리 메서드로 Period를 만든 다음 날짜에 더하십시오.

import java.time.LocalDate;
import java.time.Period;

public class Main {
    public static void main(String[] args) {
        Period p = Period.of(1, 2, 3);
        LocalDate date = LocalDate.of(2026, 1, 1);
        System.out.println(date.plus(p));
    }
}

날짜 사이의 기간

Period.between은 두 날짜 사이의 간격을 연, 월, 일로 측정합니다.

import java.time.LocalDate;
import java.time.Period;

public class Main {
    public static void main(String[] args) {
        LocalDate from = LocalDate.of(2020, 1, 15);
        LocalDate to = LocalDate.of(2026, 5, 30);
        Period p = Period.between(from, to);
        System.out.println(p.getYears() + "y " + p.getMonths() + "m " + p.getDays() + "d");
    }
}

나이 계산

Period.between은 나이를 만 연수로 계산할 때 대표적으로 사용됩니다.

import java.time.LocalDate;
import java.time.Period;

public class Main {
    public static void main(String[] args) {
        LocalDate birth = LocalDate.of(2000, 6, 15);
        LocalDate today = LocalDate.of(2026, 5, 30);
        int age = Period.between(birth, today).getYears();
        System.out.println(age);
    }
}

총 일수 세기

Period는 간격을 연, 월, 일로 나눕니다. 일수의 총합 하나만 필요하다면 대신 ChronoUnit.DAYS.between을 사용하십시오.

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

public class Main {
    public static void main(String[] args) {
        LocalDate from = LocalDate.of(2026, 1, 1);
        LocalDate to = LocalDate.of(2026, 12, 31);
        long days = ChronoUnit.DAYS.between(from, to);
        System.out.println(days);
    }
}

ChronoUnit의 유연한 활용

ChronoUnit은 DAYS, WEEKS, MONTHS, YEARS 등 여러 단위로 셀 수 있습니다. 각 between 호출은 하나의 숫자를 반환합니다.

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

public class Main {
    public static void main(String[] args) {
        LocalDate from = LocalDate.of(2026, 1, 1);
        LocalDate to = LocalDate.of(2026, 12, 31);
        System.out.println(ChronoUnit.WEEKS.between(from, to));
        System.out.println(ChronoUnit.MONTHS.between(from, to));
    }
}

다음 평일 찾기

TemporalAdjusters 클래스는 다음 달의 첫날로 이동하는 것과 같은 편리한 날짜 조정을 제공합니다.

import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2026, 5, 30);
        System.out.println(date.with(TemporalAdjusters.firstDayOfNextMonth()));
    }
}

기간과 ChronoUnit 비교

연, 월, 일로 사람이 이해하기 쉬운 분해가 필요하면 Period를 사용하십시오. 하나의 단위로 된 총합 하나가 필요하면 ChronoUnit.between을 사용하십시오.

빠른 확인

날짜 계산 능력을 확인해 보십시오.

복습

날짜 계산을 배웠습니다.

  • plusDays, plusMonths, plusYears는 날짜를 불변 방식으로 이동합니다.
  • Period는 연, 월, 일을 측정하므로 나이를 계산하는 데 적합합니다.
  • Period.between은 간격을 사람이 이해하기 쉬운 형태로 나눠 제공합니다.
  • ChronoUnit.between은 선택한 단위의 총합 하나를 제공합니다.
  • TemporalAdjusters는 다음 달의 첫날과 같은 편리한 날짜 이동을 처리합니다.

자주 묻는 질문

“Period와 날짜 산술” 강의는 무료인가요?

네 — “Period와 날짜 산술” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Java Academy 강의 전체를 잠금 해제할 수 있습니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“Period와 날짜 산술”에서 뭘 배우나요?

날짜를 더하고 뺍니다 브라우저에서 직접 실행하는 실습 코드로 Java Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Java Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Java Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“Period와 날짜 산술” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Java Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Java Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. LocalDate, LocalTime, LocalDateTime
  2. Instant와 Duration
  3. Period와 날짜 산술
  4. DateTimeFormatter로 형식 지정하기
← Java Academy(으)로 돌아가기