반응형
찾고자 하는 내용을 'ctrl + f' 를 눌러 찾으시길 바랍니다.
ex) ctrl + f -> "원하는 형식으로 날짜 및 시간 출력" 입력 후 엔터
※ 필자는 두번째 문단에 작성한
Calendar 클래스를 활용하는 것을 선호합니다ㅎㅎ(편함)
● Date 클래스
▶ date : 현재 시간 확인
Date date = new Date();
// Fri Aug 20 10:32:26 KST 2021 형식으로 출력됨
System.out.println(date);
결과:
▶ .getTime() : 1970년 1월 1일 0시 0분 0초 000밀리초 를 기준으로 얼마나 지났는지 표기
Date date = new Date();
System.out.println(date.getTime());
결과:
▶ .format : 년도, 월, 일, 시간, 분, 초, 밀리초 구하기
Date date = new Date();
String sDate = "%tY년";
System.out.println(String.format(sDate, date));
sDate = "%tm월";
System.out.println(String.format(sDate, date));
sDate = "%td일";
System.out.println(String.format(sDate, date));
sDate = "%tH시";
System.out.println(String.format(sDate, date));
sDate = "%tM분";
System.out.println(String.format(sDate, date));
sDate = "%tS초";
System.out.println(String.format(sDate, date));
sDate = "%tL밀리초";
System.out.println(String.format(sDate, date));
// 한번에 시간 구하기
sDate = "%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS.%1$tL";
System.out.println(String.format(sDate, date));
결과:
● Calendar 클래스
▶.get(Calendar.'구하고자 하는 것') : 년도, 월, 일, 시간, 분, 초, 밀리초 구하기
Calendar date = Calendar.getInstance();
int year = date.get(Calendar.YEAR);
System.out.println(year + "년");
int month = date.get(Calendar.MONTH) + 1;
System.out.println(month + "월");
int day = date.get(Calendar.DATE);
System.out.println(day + "일");
int hour = date.get(Calendar.HOUR);
System.out.println(hour + "시");
int minute = date.get(Calendar.MINUTE);
System.out.println(minute + "분");
int second = date.get(Calendar.SECOND);
System.out.println(second + "초");
int mills = date.get(Calendar.MILLISECOND);
System.out.println(mills + "밀리초");
결과:
▶.getTime : 현재 시간 확인
System.out.println("현재 날짜 : " + date.getTime());
결과:
▶.add : 계산된 날짜 구하기 (ex. 다음년도 날짜, 2개월 뒤 날짜,,,)
date.add(Calendar.YEAR, 1);
System.out.println("다음 년도 날짜 : " + date.getTime());
date = Calendar.getInstance();
date.add(Calendar.MONTH, 2);
System.out.println("2 개월 뒤 : " + date.getTime());
date = Calendar.getInstance();
date.add(Calendar.DATE, 7);
System.out.println("일주일 뒤 : " + date.getTime());
결과:
● GregorianCalendar 클래스
(Calendar 클래스보다 기능이 더 많음)
▶.get(Calendar.'구하고자 하는 것') : 년도, 월, 일, 시간, 분, 초, 밀리초 구하기
GregorianCalendar date = new GregorianCalendar();
int year = date.get(Calendar.YEAR);
System.out.println(year + "년");
int month = date.get(Calendar.MONTH) + 1;
System.out.println(month + "월");
int day = date.get(Calendar.DATE);
System.out.println(day + "일");
int hour = date.get(Calendar.HOUR);
System.out.println(hour + "시");
int minute = date.get(Calendar.MINUTE);
System.out.println(minute + "분");
int second = date.get(Calendar.SECOND);
System.out.println(second + "초");
int mills = date.get(Calendar.MILLISECOND);
System.out.println(mills + "밀리초");
결과:
▶.isLeapYear : 윤년 확인
System.out.println(date.isLeapYear(year));
결과:
▶.getTimeZone().getDisplayName() / .toZonedDateTime() : 타임존 설정 후 해당 타임존의 시간 출력
// 타임존 설정 후 해당 타임존의 시간 출력
System.out.println(date.getTimeZone().getDisplayName());
System.out.println(date.toZonedDateTime());
date.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
System.out.println(date.getTimeZone().getDisplayName());
System.out.println(date.toZonedDateTime());
date.setTimeZone(TimeZone.getTimeZone("Asia/Tokyo"));
System.out.println(date.getTimeZone().getDisplayName());
System.out.println(date.toZonedDateTime());
date.setTimeZone(TimeZone.getTimeZone("Asia/Seoul"));
System.out.println(date.getTimeZone().getDisplayName());
System.out.println(date.toZonedDateTime());
date.setTimeZone(TimeZone.getTimeZone("Europe/London"));
System.out.println(date.getTimeZone().getDisplayName());
System.out.println(date.toZonedDateTime());
date.setTimeZone(TimeZone.getTimeZone("Europe/Vatican"));
System.out.println(date.getTimeZone().getDisplayName());
System.out.println(date.toZonedDateTime());
결과:
○ SimpleDateFormat 클래스
▶.format / .applyPattern : 원하는 형식으로 날짜 및 시간 출력
GregorianCalendar gc = new GregorianCalendar();
SimpleDateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd");
String date = dFormat.format(gc.getTime());
System.out.println(date);
dFormat.applyPattern("yyyy-MM-dd HH:mm:ss.SSS");
date = dFormat.format(gc.getTime());
System.out.println(date);
결과:
반응형