티스토리 뷰

날짜 및 시간 정보에 대한 형식화(Formatting) 클래스

- 날짜 및 시간 정보를 개발자가 원하는 형식으로 표현하기 위한 클래스로 형식 지정 문자를 사용해 표현할 형식 지정한다.

 

 

SimpleDataFormat 클래스

- Date 타입 객체에 대한 형식화

 

형식 지정문자

y: 연도(yy, yyyy), M: 월, d: 일
E: 요일(E, EEEE)
H: 시(0~23), h: 시(1~12), m, s, a: 오전/오후표시

 

Date 객체 표현 형식 변경

Date now = new Date();

Mon Jul 11 09:07:55 KST 2022 가 출력된다(현재 날짜)

 

 

1. 표현형식을 지정하기 위해 형식 지정문자를 사용한 문자열 패턴 생성

String pattern = "yy년 MM월 dd일 EEEE a hh:mm:ss";

 

2. SimpleDateFormat 클래스 객체 생성 => 파라미터로 패턴 문자열 전달

SimpleDateFormat sdf = new SimpleDateFormat(pattern);

 

3. SimpleDateFormat 객체의 format() 메서드를 호출하여 Date 객체 전달

String formattingNow = sdf.format(now);
System.out.println(formattingNow);

출력 시 22년 07월 11일 월요일 오전 09:07:55

 


DateTimeFormatter 클래스

 - LocalDate, LocalTime, LocalDateTime 타입 객체에 대한 형식화로 기본적인 형식 지정문자 사용법은 SimpleDateFormat 클래스와 동일하다(패턴 동일)
- LocalDate 또는 LocalTime의 경우, 존재하지 않는 항목에 대해 패턴이 지정되면 예외가 발생할 수 있다.

 

LocalDateTime now2 = LocalDateTime.now();
System.out.println(now2);

2022-07-11T09:07:55.111 의 형태로 출력된다.

 

 

패턴 사용은 SimpleDataFormat과 동일하다.

String pattern2 = "yyyy년 MM월 dd일 EEEE a hh:mm:ss";

 

객체 생성없이 바로 만들어 사용할 수 있는 장점이 있다.

 DateTimeFormatter 클래스의 ofPattern() 메서드를 호출하여 패턴 전달

DateTimeFormatter dtf = DateTimeFormatter.ofPattern(pattern2);

 

now2.format(dtf);
System.out.println(now2.format(dtf));

패턴이 같으므로 출력 또한 동일한 형태로 출력된다!

 

 

'배운 것 기록 > java' 카테고리의 다른 글

자바 I/O - Input / Output  (0) 2022.07.13
BigInteger, BigDecimal 클래스  (0) 2022.07.12
람다식 표현과 this  (0) 2022.07.02
Thread  (0) 2022.06.28
StringBuilder / StringBuffer  (0) 2022.06.25
댓글
최근에 올라온 글
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함