본문 바로가기

TIL(Today I Learned)

TIL-230927(자바의정석 Chapter10 '날짜와 시간 & 형식화')

📝오늘 공부한 것

  • 이력서 수정하기
  • 자바의 정석 스터디

 

📌 자바의 정석 스터디

[날짜와 시간]

Calendar와 Date

  • Calendar는 추상클래스이기 때문에 직접 객체를 생성할 수 없고, 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 한다.
  • Calendar가 새로 추가되면서 Date는 대부분의 메서드가 ‘deprecated’되었으므로 잘 사용되지 않는다.
// Calendar를 Date로 변환 
Calendar cal = Calendar.getInstance(); 
Date d = new Date(cal.getTimeInMills());

// Date를 Calendar로 변환 
Date d = new Date(); 
Calendar cal = Calendar.getInstance(); 
cal.setTime(d);
  • get(Calendar.MONTH)의 값의 범위는 0~11로, 0이면 1월 11이면 12월을 의미한다.

 

[형식화 클래스]

숫자, 날짜, 텍스트 데이터를 일정한 형식에 맞게 표현할 수 있는 방법을 객체지향적으로 설계하여 표준화하였다.

DecimalFormat

숫자 데이터를 정수, 부동소수점, 금액 등의 다양한 형식으로 표현할 수 있으며, 반대로 일정한 형식의 텍스트 데이터를 숫자로 쉽게 변환하는 것도 가능하다.

SimpleDateFormat

날짜 데이터를 원하는 형태로 다양하게 출력할 수 있게 한다.

ChoiceFormat

특정 범위에 속하는 값을 문자열로 변환해준다.

MessageFormat

데이터를 정해진 양식에 맞게 출력할 수 있도록 도와준다.

 

[java.time패키지]

  • String클래스처럼 불변
  • 날짜나 시간을 변경하는 메서드들은 기존의 객체를 변경하는 대신 항상 변경된 새로운 객체를 반환한다.

 

모든 메서드들을 외울 수 없으니, '이런 것들이 있구나' 정도로 기억할 것!