[자바] 형식화 클래스_ SimpleDateFormat 클래스/날짜보기쉽게 만들어 주는 유용한 기능
숫자 또는 Date를 읽기 쉬운
문자열로 바꿔주는
형식화 클래스에 대해서 배워보자!!
형식화 클래스란?
프로그래밍에서 유용한 형식과 화면에서 유용한 데이터 형태는 다르다
화면에 출력될 때는 문자열만 의미가 있기 때문에 사람이 읽을 수 있도록 가시성이 좋도록
Object의 toString() 메서드를 오버라이딩해서 사용한다
하지만 오버라이딩해서 사용하기 힘든 두 가지 형태가 있는데 기본형 숫자와 Date 클래스다
그래서 숫자 또는 Date를 읽기 쉬운 문자열로 바꾸는데 사용되는 클래스를 형식화 클래스라 한다
형식화 클래스에는 DecimalFormat과 SimpleDateFormat이 있다
[자바] SimpleDateFormat 클래스
SimpleDateFormat 클래스_날짜/시간 정보를 관리하는 클래스로 패턴을 지정하여
파싱과 포맷팅을 처리한다
SimpleDateFormat에서 패턴 작성을 위해 사용되는 기호들은
DateFormatter에서 쓰는 것과 동일하다
[자바] SimpleDateFormat 주요 메서드
- Date 타입 객체(날짜 및 시각 정보)에 대한 형식화 클래스
- format() 메서드 : Date 타입 객체를 특정 패턴에 따라 문자열로 변환하여 리턴
parse() : 문자열을 특정 패턴에 따라 Date 타입 객체로 변환하여 리턴
[자바] SimpleDateFormat 실전 예제
String source=“2020년 06월 29일”;
SimpleDateFormatsdf=newSimpleDateFormat("yyyy 년MM 월 dd 일");
DateparseDate=sdf.parse(source);
SimpleDateFormat 객체 생성 시, 원본 문자열에 대한 형식을 지정
SimpleDateFormat sdf = new SimpleDateFormat("yyyy 년 MM 월 dd 일");
지정된 형식에 따라 원본 데이터(문자열)를 읽어와서 Date 타입 객체로 리턴
Date parseDate = sdf.parse(source);
=> "2020년 06월 29일" 문자열을 읽어들여 Date 타입으로 관리하게 되면
실제 날짜 정보를 갖는 Date 객체가 사용 가능해짐(요일 등의 추가 정보 포함됨)
현재 날짜 정보가 Mon Jun 29 00:00:00 KST 2020 형식으로 나온다
이러면 한국 사람은 알아보기 힘들어서
다시 대한민국 날짜 표기 방식으로 변환해야 한다
이때 format() 메서드에 적용하기 위한 형식 문자를 생성한다
SimpleDateFormatsdf2=newSimpleDateFormat("yy 년MM 월 dd 일(EEE) HH:mm:ss");
생성된 형식 문자를 사용하여 Date 타입 객체를 문자열로 변환
Stringformatstr=sdf2.format(parseDate);
ㅣ읽느라 수고 많으셨어요~ㅣ
부족한 글을 읽어주셔서 감사드립니다
아직 부족한 게 많으니
틀린 곳이 있다면
조언의 말씀 꼭 부탁드립니다!!!!