문제
서울의 오늘 날짜를 출력하는 프로그램을 작성하시오.
입력
입력은 없다.
출력
서울의 오늘 날짜를 "YYYY-MM-DD" 형식으로 출력한다.
예제 출력 1 복사
2015-01-24
힌트
채점 서버는 시간대(Timezone)는 UTC+0 이다.
다음은 채점 서버에서 KST 시간으로 2018년 3월 21일 오후 2시 7분 38초에 date 명령어를 실행시킨 결과이다.
Wed Mar 21 05:07:38 UTC 2018
출처
- 문제를 만든 사람: 백준
오답 코드
import java.text.SimpleDateFormat; // 시간 형식 지정을 위함
import java.util.Date; // 현재 시간을 출력
public class Main {
public static void main(String[] args) {
Date time = new Date();
SimpleDateFormat Format = new SimpleDateFormat("YYYY-MM-DD");
String now = Format.format(time);
System.out.println(now);
}
}
정답 코드
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String[] args) {
Date time = new Date();
SimpleDateFormat Format = new SimpleDateFormat("yyyy-MM-dd");
String now = Format.format(time);
System.out.println(now);
}
}
틀린 이유 : 'YYYY'-'yyyy' / 'DD'-'dd' 차이점
'yyyy' : 대부분 사용자가 원하는 연도 포맷
'YYYY' : Week Year, 주 기준 연도로 일부 특별한 상황에서만 사용
예) 2015-12-28 / YYYY : 2016년(첫째주로 간주), yyyy: 2015
'DD' 연의 일자
'dd': 보통 일자를 나타내는 경우 사용
결론
년-월-일 형식으로 올바르게 출력하려면 'yyyy-MM-dd' 패턴 사용할 것
자바에서 현재 시간을 사용하려면 -> import java.util.Date; 사용
원하는 형태에 따라 시간을 나타내고 싶다면 -> import java.text.SimpleDateFormat; 사용
Date time = new Date();
SimpleDateFormat Format = new SimpleDateFormat("yyyy-MM-dd");
에서 끝나는 것이 아니라
Date time = new Date();
SimpleDateFormat Format = new SimpleDateFormat("yyyy-MM-dd");
String now = Format.format(time);
String 형태로 출력되어야 하니까 String 객체에 담아줄 것
출처 : chatGPT
'백준 > 언랭 탈출하기' 카테고리의 다른 글
[Java] 백준 10171번 : 고양이 (0) | 2023.09.17 |
---|---|
[Java] 백준 11382번 : 꼬마 정민 (0) | 2023.09.16 |
[Java] 백준 7287번 : 등록 (0) | 2023.09.16 |
[백준/Java] 18108번 1998년생인 내가 태국에서는 2541년생?! (0) | 2023.09.16 |
[백준 10869번/Python] 사칙연산 (0) | 2023.09.06 |