개발 공부/Java & Spring

12. java.time 패키지 파싱과 포맷

빵다희 2022. 12. 28. 20:47
DateTimeFormatter 클래스

* 형식화의 예시 

LocalDate date = LocalDate.of(2016, 1, 2);

// "2026-01-02"
String yyyymmdd = DateTimeFormatter.ISO_LOCAL_DATE.format(date);

* 형식화에 쓰이는 format() 메소드는 DateTimeFormatter 뿐만아니라 LocalDate나 LocalTime같은 클래스에도 있는데 

같은 기능이니 편한쪽을 사용하면 된다. 

 

* DateTimeFormatter에 상수로 정의된 형식

 

1. 로케일에 종속된 형식화 * DateTimeFormatter의 ofLocalizedDate(), ofLocalizedTime(), ofLocalized DateTime()은 로케일(local)에 종속된 포맷터를 생성한다. 

DateTimeFormatter f = 
		DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT);

String shortFormat = f.format(LocalDate.now());

* FormatStyle의 종류에 따른 출력형태

FormatStyle 날짜 시간
FULL 2015년 11월 28일 토요일 N/A
LONG 2015년 11월 28일 (토) 오후 9시 15분 13초
MEDIUM 2015. 11. 28 오후 9:15:13
SHORT 15. 11. 28 오후 9:15

2. 출력형식 직접 정의하기 

* DateTimeFormatter의 ofPattern()으로 원하는 출력형식을 작성 가능 하다. 

DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyy/MM/dd");

3. 문자열을 날짜와 시간으로 파싱하기 

 

* parse()를 사용하여 문자열을 날짜 또는 시간으로 변환할 수 있다.

/* DateTimeFormatter의 상수로 정의된 형식을 사용할 때 */
LocalDate d = LocalDate.parse("2016-01-02",DateTimeFormatter.ISO_LOCAL_DATE);

/* 기본 문자열 */
LocalDate d = LocalDate.parse("2001-01-01");
LocalTime t = LocalTime.parse("23:59:59");
LocalDateTime dt = LocalDateTime.parse("2001-01-01T23:59:59");

/* ofPattern()을 이용 할 때 */
DateTimeFormatter p = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime edt = LocalDateTime.parse("2015-12-31 23:59:59",p);
728x90
반응형

'개발 공부 > Java & Spring' 카테고리의 다른 글

14.HashSet  (0) 2023.01.16
13. Comparator와 Comparable  (0) 2023.01.14
11. java.time 패키지  (0) 2022.12.28
10. 래퍼 클래스(wrapper 클래스)  (0) 2022.12.07
9. Math클래스  (0) 2022.12.06