Chapter10 날짜와 시간 & 형식화(date, time and formatting)

cookienc·2021년 7월 11일
0

Java 기본 개념

목록 보기
9/13
post-thumbnail

1. 날짜와 시간

1.1 Calendar와 Date

  • java.util.Date : 날짜와 시간을 다룰 목적으로 만들어진 클래스
  • java.util.Calendar : Date클래스를 개선한 클래스
  • java.time패키지 : Date와 Calendar의 단점을 개선

< Date와 Calendar간의 변환 >

  1. Calendar를 Date로 변환
Calendar cal = Calendar.getInstance();
...
Date d = new Date(cal.getTimeInMillis());
  1. Date를 Calendar로 변환
Date d = new Date();
...
Calendar cal = Calendar.getInstance();
cal.setTime(d);

< Calendar클래스 >

  • 추상클래스이므로 객체 생성x -> Calendar.getInstance()로 구현된 객체를 얻어야 함.
  • get()으로 날짜와 시간 필드 가져오기
  • Calendar에 정의된 필드
  • set()으로 날짜와 시간지정하기(월이 0부터 시작한다는 것이 유의)
void set(int field, int value);
void set(int year, int month, int date);
void set(int year, int month, int date, int hourOfDay, int minute);
void set(int year, int month, int date, int hourOfDay, int minute, int second);
  • clear()는 Calendar객체의 모든 필드를 초기화
  • add()는 특정 필드의 값을 증가 또는 감소(다른 필드(월, 일)에 영향o)
  • roll() 특정 필드의 값을 증가 도는 감소(다른 필드(월, 일)에 영향x)

2. 형식화 클래스

  • java.text패키지의 DecimalFormat, SimpleDateFormat
  • 숫자와 날짜를 원하는 형식으로 쉽게 출력 가능(숫자, 날짜 -> 형식 문자열)
double number = 1234567.89;
DecimalFormat df = new DecimalFormat("#.#E0");
String result = df.format(number); // result = "1.2E6"
  • 형식 문자열에서 숫자와 날짜를 뽑아내는 기능(형식 문자열 -> 숫자, 날짜)
DecimalFormat df = new DecimalFormat("#,###.##");
Number num = df.parse("1,234,567.89");
double d = num.doubleValue(); // 1234567.89

2.1 < DecimalFormat >

2.2 < SimpleDateFormat >

  • 날짜와 시간을 다양한 형식으로 출력할 수 있게 해준다.
  • 특정 형식으로 되어 있는 문자열에서 날짜와 시간을 뽑아낼 수도 있다.



추후에 업데이트 할 예정

0개의 댓글