해결된 질문
작성
·
212
·
수정됨
0
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String dateTimeString = "2030-01-01 11:30:15";
LocalDateTime parsedDatetime = LocalDateTime.parse(dateTimeString, formatter);
System.out.println("문자열 파싱 날짜와 시간: " + parsedDatetime);
강의처럼 패턴을 yyyy-MM-dd HH:mm:ss로 해도
문자열 파싱 날짜와 시간: 2030-01-01T11:30:15
ISO 8601 규격인 날짜와 시간 사이에 'T' 가 들어가는데,
포맷팅 할 때 처럼
'T'가 안들어가게 패턴을 정의할 순 없을까요?
답변 1
2
안녕하세요. 노뚜님, 공식 서포터즈 David입니다.
강의에서 작성된 코드와 동일하게 작성하시면 구분자(T)없이 출력하실 수 있습니다.
참고로, LocalDateTime을 그대로 println에 넣으면 LocalDateTime.toString()을 호출하여 값을 출력하게 됩니다.
LocalDateTime.toString()의 구현을 보시면 구분자(T)를 포함하여 출력하고 있으니 자세한 내용은 다음 코드를 참고해 주세요.
감사합니다
여기서 parsing은 특정 형태의 값을 읽어 LocalDateTime을 생성하는 것이고,
formatting은 특정 형태로 LocalDateTime의 값(일시)을 출력하는 것입니다.
따라서, 원하시는 결과(구분자T 없이 출력)를 얻으시려면 formatting을 하시는 게 맞습니다.
parsing(LocalDateTime 생성) 후 formatting(구분자T 없이 출력)
아 이해했습니다!
파싱한 LocalDateTime을 println으로 출력하게되면 말씀하신 것처럼 .toSting()을 호출해서 date.toString() + ‘T’+ time.toString();이 출력되는 거군요!
‘T’없이 출력하려면 파싱한 LocalDateTime을 String으로 포맷팅 하라는 말씀이시군요 이해됐습니다 감사합니다!
안녕하세요 David님
보내주신 사진 처럼 강의에서 ‘T’없이 출력되는건 Stirng으로 포맷팅 처리했을 때 인것 같습니다.
제가 질문 드린건 LocalDateTime으로 파싱했을 때 ‘T’없이 출력되는 방법입니다!