본문 바로가기
프로그래밍 공부/JAVA

java 공부) 날짜와 시간 & 형식화

by 꿀떡스 2019. 5. 12.
반응형


날짜와 시간을 표현하는 클래스 / 형식화 클래스

(제공된 순서대로) Date -> Calendar -> java.time 패키지 속 클래스들.



제일 최신 버전이 java.time 패키지임에도 불구하고 Date, Calendar 를 꾸준히 쓰고있기 때문에 공부해야함.



1. Calendar 와 Date

Calender cal = Calender.getInstance(); 처럼 함수를 이용해서 인스턴스 생성하여 사용해야함.
Date d = new Date();



현재 시간과 날짜를 가져오는 함수는 get.

-> cal.get(Calendar.YEAR) ; 여기서 YEAR을 MONTH, DATE등으로 바꾸어 원하는 속성값을 가져올 수 있다. 



시간과 날짜를 설정하는 함수는 set.

->cal.set(2015, Calendar.AUGUST, 15); 

->cal.set(Calendar.MINUTE, 20); 

여기서 MINUTE을 HOUR_OF_DAY,SECOND 등으로 바꾸어 시간을 설정할 수 있다.

이 구문은 분은 20분으로 설정한다는 것.



2. 형식화 클래스 

(1) DecimalFormat 숫자를 형식화하는 클래스
double number = 1234567.89;
DecimalFormat df = new DecimalFormat("#.#E0");
String result = df.format(number);
결과 : 1.2E6 (10을 6번 곱해야 원래값. x10^6)
*# 와 0의 차이 : 0은 값이 없을때는 0을 나타냄.

(2) SimpleDateFormat 날짜를 형식화하여 출력하는 클래스
Date today = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String result=df.format(today);
*(1)과 (2)에서 문자열로 표현된 숫자와 날짜를 parse를 사용하여 쉽게 변환하여 출력할수있다.
DecimalFormat df = new DecimalFormat("#,###.##");
Number num=df.parse("1,234,567,89");
double d=num.doubleValue(); 


(3)ChoiceFormat 특정 범위에 속하는 값을 문자열로 변환.
double[] limits = {60,70,80,90};
String[] grades = {"D", "C", "B", "A"};
int[] scores = {100, 95, 88};
ChoiceFormat form = new ChoiceFormat(limits, grades);
sop (form.format(scores[i])); 

(4)MessageFormat 데이터를 정해진 양식에 맞게 출력.
String msg = "Name : {0} Tel : {1} Age:{2} "







댓글