본문 바로가기
[YERIEL] 개발일기

시험 대비

by YERIEL_염주둥 2020. 7. 20.
728x90
java.lang.StringIndexOutOfBoundsException

문자열 subString 

subString(int beginIndex)
subString(int beginIndex, int endIndex) 중 subString(int beginIndex, int endIndex) 사용

시작과 끝 인덱스를 지정하는 것인데 DB의 substr랑 헷갈려서 시작 인덱스부터 자르고 싶은 문자열 갯수를 입력

그래서 오류 발생..ㅠㅠ

 

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ");
LocalDateTime reserveDate = LocalDateTime.parse(rtcanReserveTime.get(i).getRtcanRegDate(),formatter);
java.time.format.DateTimeParseException:  Text '2020-07-19 15:15:00' could not be parsed at index 10

DB에서 datetime 데이터 유형의 데이터를 String으로 조회 하여 localDateTime으로 parse 했는데 중간에 'T'가 없어서 에러 발생....

그래서 subString으로 년, 월, 일, 시간, 분, 초로 잘라서

String tt = rtcanReserveTime.get(i).getRtcanRegDate();
int year = Integer.parseInt(tt.substring(0,4));
int month = Integer.parseInt(tt.substring(5, 7));
int day = Integer.parseInt(tt.substring(8,10));
int hour = Integer.parseInt(tt.substring(11,13));
int minute = Integer.parseInt(tt.substring(14,16));
int second = Integer.parseInt(tt.substring(17,19));

LocalDateTime reserveDate = LocalDateTime.of(year, month, day, hour, minute, second);

int로 형변환 후 LocalDateTime의 of 메서드를 이용하여 String 타입을 LocalDatTime을 변환

 

LocalDateTime 설명

https://java119.tistory.com/52

 

[Java] LocalDate,LocalTime,LocalDateTime 총 정리

아직도!!!!!!!!!!!!!! Calender나 Date를 사용하려는 혹은 사용하고 있는 저 같은분들을 위해 준비한 글입니다. Java 8 부터 java.time(joda.time) api 출시 됐기 때문에, Java version 8 이상만 가능합니다. J..

java119.tistory.com

 

반응형

'[YERIEL] 개발일기' 카테고리의 다른 글

CHALLENGER : BNB 체인 해커톤 온라인 트랙 최종 선발  (0) 2022.10.29
시험 대비-2  (0) 2020.07.21
임베디드  (0) 2020.07.16
오늘의 키워드 정리  (1) 2020.07.01
URL과 URI 차이  (0) 2020.05.14

댓글