티스토리 뷰
날짜 및 시간 정보에 대한 형식화(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 |
댓글