숫자 또는 Date를 읽기 쉬운
문자열로 바꿔주는
형식화 클래스에 대해서 배워보자!!
프로그래밍에서 유용한 형식과 화면에서 유용한 데이터 형태는 다르다
화면에 출력될 때는 문자열만 의미가 있기 때문에 사람이 읽을 수 있도록 가시성이 좋도록
Object의 toString() 메서드를 오버라이딩해서 사용한다
하지만 오버라이딩해서 사용하기 힘든 두 가지 형태가 있는데 기본형 숫자와 Date 클래스다
그래서 숫자 또는 Date를 읽기 쉬운 문자열로 바꾸는데 사용되는 클래스를 형식화 클래스라 한다
형식화 클래스에는 DecimalFormat과 SimpleDateFormat이 있다
SimpleDateFormat 클래스_날짜/시간 정보를 관리하는 클래스로 패턴을 지정하여
파싱과 포맷팅을 처리한다
SimpleDateFormat에서 패턴 작성을 위해 사용되는 기호들은
DateFormatter에서 쓰는 것과 동일하다
- Date 타입 객체(날짜 및 시각 정보)에 대한 형식화 클래스
- format() 메서드 : Date 타입 객체를 특정 패턴에 따라 문자열로 변환하여 리턴
parse() : 문자열을 특정 패턴에 따라 Date 타입 객체로 변환하여 리턴
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);
ㅣ읽느라 수고 많으셨어요~ㅣ
부족한 글을 읽어주셔서 감사드립니다
아직 부족한 게 많으니
틀린 곳이 있다면
조언의 말씀 꼭 부탁드립니다!!!!
[자바] 예외 처리(2) throws /throw 왜 쓸까?/ 위임/ Exception/일부러 발생시키는 오류 (0) | 2020.08.24 |
---|---|
[JAVA] 자바_누적 함수/ 별만들기/짝수,홀수(반복문for문/if문 조건문) (0) | 2020.08.23 |
[자바] MessageFormat 클래스/연결하기/끼워넣기/배열에 사용하기 (0) | 2020.08.21 |
[자바] 프로세스와 멀티 Thread(스레드/쓰레드)_메서드/ 상속/인터페이스 /run, start,synchronized (1) | 2020.08.20 |
[자바]예외(Exception)처리_try catch fianlly 구문/ try with resource 구문 (0) | 2020.08.19 |