-> java.sql => 연, 월, 일만 나타낸다. (시,분,초 X)
-> java.util => 연, 월, 일, 시, 분, 초 를 나타낸다.
Date now = new Date();
// now : Sat Feb 03 22:50:46 KST 2024
// now : Sat Feb 03 22:50:46 GMT+09:00 2024
// KST : 한국 표준시 , GMT : 그리니치 평균시
SimpleDateFormat sdformat
= new SimpleDateFormat(yyyy-MM-dd HH:mm:ss");
// yyyy-MM-dd HH:mm:ss 형식으로 나타내기
// 2024-02-03 22:50:46
// 활용
저장할 장소 = sdformat.format(now);
--> ※ 날짜와 시간은 헷갈리지 않게 "2024-02-03 22:50:46" 으로 맞추었습니다.
%tF => 'yyyy-mm-dd' 형식으로 변환
String currentTime = String.format("%tF",now);
// currentTime : 2024-02-03
%tT => 'HH:MM:SS' 형식으로으로 변환
String currentTime = String.format("%tT",now);
// currentTime : 22:50:46
%tp => 오전/오후 출력
String currentTime = String.format("%tp",now);
// currentTime : 오후
%tA => 요일명 출력
String currentTime = String.format("%tA",now);
// currentTime : 토요일
%tY => 4자리 년도만 출력
String currentTime = String.format("%tY",now);
// currentTime : 2024
%tB => 월의 이름(January, February ...) 출력
String currentTime = String.format("%tB",now);
// currentTime : 2월
// 컴퓨터가 한국위치로 설정되어있어 February 가 아닌 2월이 뜸.
%tm => 월의 숫자(01,02,03 ... 12) 출력
String currentTime = String.format("%tm",now);
// currentTime : 02
%td => 월의 일수(01,02,03 ... 31) 출력
String currentTime = String.format("%td",now);
// currentTime : 03
%te => 월의 일수(1,2,3, ... 31) 출력
String currentTime = String.format("%te",now);
// currentTime : 3
%tk => 시간을 0~23 으로 출력
String currentTime = String.format("%tk",now);
// currentTime : 22
%tl => 시간을 1~12 로 출력
String currentTime = String.format("%tl",now);
// currentTime : 10
%tM => 분을 00~59 로 출력
String currentTime = String.format("%tM",now);
// currentTime : 50
%tS => 초를 00~59 로 출력
String currentTime = String.format("%tS",now);
// currentTime : 46
%tZ => 타임존을 출력 (한국 : KST)
String currentTime = String.format("%tA",now);
// currentTime : KST
여러 날짜타입 한번에 사용하기
String currentTime = String.format(" %tF %tp %tT % tA % tZ"
,now ,now ,now ,now ,now);
// currentTime : 2024-02-03 오후 10: 50:46 토요일 KST
-> setLenient
SimpleDateFormat sdformat= new SimpleDateFormat("yyyyMMdd");
sdformat.setLenient(false);
// false 로 해주어야 날짜 타입으로 변경할 때 오류라고 표시된다.
.parse => String 타입이 Date 타입으로 return
try{
Date d = sdformat.parse("19990520");
System.out.println(d);
// Thu May 20 00:00:00 KST 1999
} catch(ParseException e) { // 달력에 존재하지 않을 경우
System.out.println(">> 달력에 존재하지 않습니다.<<");
}
.parse : https://velog.io/@jjoung-2j/%EB%AC%B8%EC%9E%90%EC%97%B4-%ED%95%A8%EC%88%98
my.day11.b.calendar -> Main_calendar
my.day11.c.abstraction -> Gujikja