날짜 정보를 반환하는 클래스
: Date - 1.0버전부터 제공, Calendar로 대부분의 기능 사용을 권장함..
: Calendar - 추상개념, 직접 생성이 불가능, 자식 클래스를 이용해서 얻어야 한다.
날짜 정보를 원하는 형태의 문자열로 처리(날짜 -> 문자열)
문자열을 날짜 객체로 변환 시켜주는 클래스(문자열 -> 날짜)
: SimpleDateFormat
https://docs.oracle.com/javase/8/docs/api/index.html
사이트에서 Date 관련 생성자 확인시 Deprecated가 기재된 항목은 더이상 업데이트 되지 않아 사용을 권장하지 않음
Calendar 클래스로 대체사용 권장
소스
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
// c가 가지고 있는 날짜와 정보와 관련된 최대 날짜
int val = c.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(val);
// c가 가지고 있는 날짜 정보와 상관없이 필드에 해당하는 최대 날짜
val = c.getMaximum(Calendar.DAY_OF_MONTH);
System.out.println(val);
// 현재 월에서 다음달로 설정하고자 할때
// 상대적인 값을 기준으로 바꾸는 경우..
c.set(Calendar.MONTH, c.get(Calendar.MONTH)+1);
// 다음달
c.add(Calendar.MONTH, 1);
// 이전달
c.add(Calendar.MONTH, -1);
// Date 객체의 정보를 Calendar 객체에 설정하기
// Date 객체를 이용한 설정
Date d = new Date();
c.setTime(d);
// 밀리세컨 시간 정보(long 값)를 이용한 설정
long dTime = d.getTime();
c.setTimeInMillis(dTime);
// Date -> Calendar : setTime();
// Calendar -> Date 객체 변환
Date cDate = c.getTime();
}
결과
30
31
소스
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
// 현재 시간 정보를 아래와 같이 보여주세요..
// 2018-02-22 11:56:11
System.out.printf("%d-%02d-%02d %02d:%02d:%02d\n", c.get(Calendar.YEAR), c.get(Calendar.MONTH)+1, c.get(Calendar.DATE), c.get(Calendar.HOUR)+12, c.get(Calendar.MINUTE), c.get(Calendar.SECOND));
// SimpleDateFormat 날짜정보에 대한 처리를 편하게 할 수 있다
// 날짜객체, 문자열(날짜 패턴)
/*
패턴문자
y : 년도
M : 월
d : 일
H : 시 (24시간 기준)
h : 시 (12시간 기준)
m : 분
s : 초
yyyy-MM-dd HH:mm:ss
yyyy-MM
HH:mm, hh:mm
*/
String pattern = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
// 날짜 -> 문자열 변환
String result = sdf.format(new Date());
System.out.println(result);
sdf = new SimpleDateFormat(DateUtil.COMMON_PATTERN);
// 문자열 -> 날짜 변환
pattern = "yyyy-MM-dd";
try {
Date d = sdf.parse("2018-11-11");
System.out.println(d);
}
catch (ParseException e) {
e.printStackTrace();
}
}
결과
2018-09-28 15:43:31
2018-09-28 15:43:31
Sun Nov 11 00:00:00 KST 2018
Java - Collection Framework (0) | 2018.09.28 |
---|---|
Java - Generic (0) | 2018.09.28 |
Java - Wrapper 클래스 (0) | 2018.09.28 |
Java - 예외의 직접처리 + 간접처리 : throws + throw (0) | 2018.09.28 |
Java - 예외, Exception, try~catch~finally (0) | 2018.09.28 |
댓글 영역