문제:
서울의 오늘 날짜를 출력하는 프로그램을 작성하시오.
입력:
입력은 없다.
출력:
서울의 오늘 날짜를 "YYYY-MM-DD" 형식으로 출력한다.
제출:
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class Bj_10699 {
public static void main(String[] args) {
Date date = new Date();
DateFormat df = new SimpleDateFormat("YYYY-MM-dd");
df.setTimeZone(TimeZone.getTimeZone("Asia/Seoul"));
System.out.println(df.format(date));
}
}
단순히 System.out.println("2022-06-15");
라고 해서 풀 수 있는 문제였다.
하지만 아래 힌트를 보았을 때, date 명령어라는 말이 나오는 것을 보고 Date
클래스를 사용해서 풀어보기로 마음을 먹었다.
Date
클래스를 통해서 현재 시간을 가져왔고, SimpleDateFormat
으로 YYYY-MM-dd
형식을 잡아주었고, 채점 서버의 시간대가 UTC+0 이라는 것을 감안하여 문제에서 처럼 정확하게 서울의 날짜를 출력하려고 TimeZone
을 설정하였다.
답안을 제출한 후, 다른 사람들의 풀이도 보려고 찾아보니 단순 출력으로 푼 사람들도 많았고, LocalDate
클래스를 사용하였던데, 이것은 현지 시간을 나타내는 클래스로 알고 있다.
만약 문제가 시간까지 나타낸다던가, 오전 9시이전에 제출을 하였으면 오답으로 처리되었을 거라고 생각한다.
문제처럼 정확히 TimeZone
이 나와있는 경우에는 설정을 해주는게 맞다고 생각한다.