[java] 자바에서 랜덤으로 날짜 생성하기

자바에서 랜덤으로 날짜를 생성하려면 java.util.Date 클래스나 java.time.LocalDate 클래스를 사용할 수 있습니다. 두 가지 방법을 살펴보겠습니다.

1. java.util.Date를 사용한 랜덤 날짜 생성

import java.util.Date;
import java.util.concurrent.ThreadLocalRandom;

public class RandomDateGenerator {
    public static void main(String[] args) {
        long startDate = new Date().getTime();
        long endDate = startDate + 1000 * 60 * 60 * 24 * 365;  // 현재 날짜부터 1년 후까지

        long randomDate = ThreadLocalRandom.current().nextLong(startDate, endDate);
        Date date = new Date(randomDate);
        System.out.println(date);
    }
}

2. java.time.LocalDate를 사용한 랜덤 날짜 생성

import java.time.LocalDate;
import java.util.concurrent.ThreadLocalRandom;

public class RandomDateGenerator {
    public static void main(String[] args) {
        long startDate = LocalDate.of(1970, 1, 1).toEpochDay();
        long endDate = LocalDate.now().toEpochDay();  // 현재 날짜까지

        long randomDate = ThreadLocalRandom.current().nextLong(startDate, endDate);
        LocalDate randomLocalDate = LocalDate.ofEpochDay(randomDate);
        System.out.println(randomLocalDate);
    }
}

두 방법 모두 ThreadLocalRandom 클래스를 사용하여 범위 내에서 랜덤한 값으로 날짜를 생성합니다. 이를 통해 어떤 기간 내에서 랜덤한 날짜를 생성할 수 있습니다.

위의 코드는 해당 클래스의 메소드 및 인터페이스를 사용하여 랜덤한 날짜를 생성하는 방법을 보여줍니다.

더 많은 정보는 Oracle Java Documentation에서 확인할 수 있습니다.