-
10 (1) Calender 클래스Java 2023. 5. 14. 21:31반응형
날짜와 시간
*java.util.Date
- 날짜와 시간을 다룰 목적으로 만들어진 클래스(JDK1.0)
- Date의 메서드는 거의 deprecated 되었지만, 여전히 쓰이고 있다
*java.util.Calendar
- Date클래스를 개선한 새로운 클래스(JDK1.1) 여전히 단점이 존재
*java.time 패키지
- Date와 Calendar의 단점을 개선한 새로운 클래스들을 제공(JDK1.8)
>> Date와 Calendar는 항상 날짜+시간을 같이 다룬다 (단점)
>> time은 LocalDate(날짜), LocalTime(시간), LocalDateTime(날짜+시간) 나눌 수 있다
Calendar 클래스
- 추상 클래스이므로 getInstance( )를 통해 구현된 객체를 얻어야 한다
- get( )으로 날짜와 시간 필드 가져오기 - int get(int field)
- Calendar에 정의된 필드
- set( )으로 날짜와 시간지정하기
- 날짜 지정하는 방법. 월(MONTH)이 0부터 시작한다는 점에 주의
-시간 지정하는 방법
>> 날짜1 - 날짜2 계산은 ‘초 단위로 변경’( gerTimeInMillis( ) )
날짜1(초) - 날짜2(초) = 초 → 시간 또는 분 으로 변경하여 원하는 결과 값을 출력
gerTimeInMillis( )은 날짜를 초 단위로 변경, 1/1000초(ms) 단위
>> 1초가 되려면 /1000을 넣어줘야 된다(ms → s)
- clear( )는 Calendar 객체의 모든 필드를 초기화
- clear(int field)는 Calendar 객체의 특정 필드를 초기화
- add( )는 특정 필드의 값을 증가 또는 감소(다른 필드에 영향O)
- roll( )은 특정필드의 값을 증가 또는 감소(다른 필드에 영향X)
Date와 Calendar간의 변환
- Date의 메서드는 대부분 deprecated되었지만 여전히 사용
형식화 클래스
- java.text 패키지의 DecimalFormat(10진수 숫자), SimpleDateFormat(날짜 형식화)
- 숫자와 날짜를 원하는 형식으로 쉽게 출력 가능(숫자, 날짜 → 형식 문자열)
- 형식 문자열에서 숫자와 날짜를 뽑아내는 기능(형식 문자열 → 숫자, 날짜)
※ Integer.parseInt( )는 콤마(,)가 포함된 문자열을 숫자로 변환 못함
>> Double.parseDouble( ) 또는 float.parsefloat( )의 안에 (,)는 변환하지 못한다
→ 해결 방법 : DecimalFormat 사용
DecimalFormat
- 숫자를 형식화할 때 사용 (숫자 → 형식 문자열)
SimpleDateFormat
- 날짜와 시간을 다양한 형식으로 출력할 수 있게 해준다.
- 특정 형식으로 되어 있는 문자열에서 날짜와 시간을 뽑아낼 수도 있다.
반응형'Java' 카테고리의 다른 글
11 (2) Stack과 Queue (0) 2023.05.15 11 (1) 컬렉션프레임웍과 핵심 인터페이스 (0) 2023.05.14 09 (4) StringBuffer클래스 (0) 2023.05.13 09 (3) String클래스 (0) 2023.05.12 09 (2) object클래스와 equals( ) (0) 2023.05.12