1. Calendar 클래스
- 추상클래스 (객체 생성 불가능)
- Date클래스->Calendar클래스->java.time패키지
- 나라별로 사용하는 달력이 다르므로, 수정하기 쉽게 메서드를 이용한다.
ex)
Calendar cal = new GregorianCalendar(); => 권장 x
Calendar cal = calendar.getInstance(); => 권장
=> 현재날짜와 시간으로 설정됨
- get(); : 현재 시스템의 날짜와 시간 출력
-set(); : 원하는 날짜와 시간으로 설정
*void set(int field, int value)
*void set(int year, int month, int date, int hourOfDay, int minute, int second)
YEAR MONTH (0~11, 0:1월) WEEK_OF_YEAR WEEK_OF_MONTH DATE = DAY_OF_MONTH DAY_OF_YEAR DAY_OF_WEEK(1~7, 1:일요일) DAY_OF_WEEK_IN_MONTH AM_PM (0:오전, 1:오후) HOUR (0~11) HOUR_OF_DAY (0~23) MINUTE SECOND MILLISECOND(1000분의 1초, 0~999) ZONE_OFFSET (-12~+12) getActualMaximum(Calendar.DATE) |
[1] add(int field, int amount); - 지정한 필드의 값을 증가 또는 감소시킨다.
[2] roll(int field, int amount); - add와 같이 증가 또는 감소시키지만 지정한 필드 외에는 영향을 미치지 않는다. 다만, 일 필드(date)가 말일일 때 월 필드(month)를 변경하면 일 필드(date)에 영향을 준다.
ex) set(2022, 9, 1)
add(Calendar.DATE, 31) - 10월 1일
roll(Calendar.DATE, 31) - 9월 30일
1.1 Date/Calendar 형변환
- Date대부분의 메서드가 ‘deprecated’되었지만 그럼에도 불구하고 Date를 필요로 하는 메서드들이 있으므로 형변환하여 사용한다.
[1] Calendar를 Date로 변환
Calendar cal = Calendar.getInstance();
...
Date d = new Date(cal.getTimeInMillis());
[2] Date를 Calendar로 변환
Date d = new Date();
...
Calendar cal = Calendar.getInstance();
cal.setTime(d);
2. 형식화 클래스
2.1 DecimalFormat(숫자 형식화)
- 숫자 데이터를 정수, 부동소수점, 금액 등의 다양한 형식으로 출력 가능
1) 원하는 출력형식의 패턴을 작성하여 DecimalFormat인스턴스 생성
2) 출력하고자 하는 문자열로 format메서드 호출
ex)
double number = 1234567.89;
DecimalFormat df = new DecimalFormat(”#.#E0”);
String result = df.format(number); // result = “1.2E6”
2.2 SimpleDateFormat(날짜 데이터 형식화)
ex)
Date today = new Date();
SimpleDateFormat df = new SimpleDateFormat(”yyyy-mm-dd”);
String result = df.format(today); //result = “2022-11-19”
- SimpleDateFormat의 parse는 문자열 source를 날짜인스턴스로 변환해 준다.
- 날짜 형식을 변환할 때 지정된 형식과 입력된 형식이 일치하지 않을 경우 예외가 발생하므로 적절한 예외처리가 필요하다.
(try-catch블록 활용)- 추상클래스 (객체 생성 불가능)
'Study > Java' 카테고리의 다른 글
10. <컬렉션 프레임웍 - List, Set, Map> ~자바의 정석 summary ~ (2) | 2023.01.20 |
---|---|
08. <String클래스, 문자열-기본형 변환, 오토박싱> ~자바의 정석 summary ~ (2) | 2023.01.16 |
07. <예외처리,equals, hashCode, clone, toString> ~자바의 정석 summary ~ (0) | 2023.01.14 |
06. <제어자, 캡슐화, 다형성, 형변환, 인터페이스 > ~자바의 정석 summary ~ (0) | 2023.01.13 |
05. <오버로딩, 생성자, 상속, 포함 > ~자바의 정석 summary ~ (0) | 2023.01.12 |
댓글