1. String to LocalDateTime, String to LocalDate
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // String to LocalDateTime String issueDate = "20180604" String tempDate = issueDate.substring(0, 4)+"-"+issueDate.substring(4, 6)+"-"+issueDate.substring(6, 8)+" 00:00"; // tempDate = "2018-06-04 00:00" LocalDate tempDate2 = LocalDate.parse( issueDate , DateTimeFormatter.BASIC_ISO_DATE); // 2018-10-04 // tempDate2 = "2018-06-04" DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); LocalDateTime localDateIssueDate = LocalDateTime.parse(tempDate, formatter); // localDateIssueDate "2018-06-04T00:00" // String to LocalDate DateTimeFormatter dateformatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDate a = LocalDate.parse("2018-06-04",dateformatter); // LocalDate 2018-06-04 | cs |
2. LocalDateTime to LocalDate, LocalDate to LocalDateTime
1 2 3 4 5 6 7 8 9 10 11 12 | // LocalDateTime to LocalDate LocalDateTime localDateTime = LocalDateTime.parse("2018-06-04T00:00"); LocalDate localDate = localDateTime.toLocalDate(); // localDate : 2018-06-04 // LocalDate to LocalDateTime LocalDate date = LocalDate.parse("2018-06-04"); // 2018-06-04 LocalDateTime localDateTime1 = date.atStartOfDay(); // 2018-06-04T00:00 LocalDateTime localDateTime2 = date.atTime(13,15); // 2018-06-04T13:15 LocalDateTime localDateTime3 = date.atTime(16,05, 40); // 2018-06-04T16:05:40 | cs |
3. LocalDate, LocalDateTime Compare 비교하기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | // 1. LocalDate compareTo LocalDate startDt = LocalDate.of(2018, 6, 4); LocalDate endDt = LocalDate.of(2018, 6, 6); LocalDate issueDt = LocalDate.of(2018, 6, 5); System.out.println(startDt.compareTo(endDt)); // startDt(2018, 6, 4) > endDt(2018, 6, 6) -> return -1 System.out.println(startDt.compareTo(startDt)); // startDt(2018, 6, 4) = startDt(2018, 6, 4) -> return 0 System.out.println(endDt.compareTo(startDt)); // endDt(2018, 6, 6) > startDt(2018, 6, 4) -> return 1 // startDt(시작일자)와 endDt(종료일자) 사이에 issueDt(발행일자)가 들어가는지 비교하기 위해 조건문을 작성하면 if(issueDt.compareTo(cmpnStrtDttm) == -1 // 발행일이 시작일보다 작거나 || issueDt.compareTo(cmpnEndDttm) == 1 ) { // 발행일이 종료일보다 크면 throw new exception("발행일자가 시작일자와 종료일자 기간사이에 속해있지 않습니다."); } // 2. LocalDateTime isBefore, isAfter // LocalDateTime형식의 strtDt : 2018-06-04T00:00 , endDt: 2018-06-05T00:00, isuueDt: 2018-06-04T00:00 LocalDateTime strtDt = LocalDateTime.parse("2018-06-04T00:00"); LocalDateTime endDt = LocalDateTime.parse("2018-06-05T00:00"); LocalDateTime isuueDt = LocalDateTime.parse("2018-06-04T00:00"); if( (isuueDt.isAfter(strtDt) // 발행일이 시작일보다 커야(이후여야)하고 && isuueDt.isBefore(endDt) ) // 발행일이 종료일보다 작아야(이전이어야)하고 || (isuueDt.isEqual(strtDt) // 발행일이 시작일과 같을경우 || isuueDt.isEqual(endDt) )){ // 발행일이 종료일과 같을경우 System.out.println("발행일이 시작일과 종료일 사이에 속해있음."); }else{ throw new exception("발행일이 시작일과 종료일 사이에 속해있지 않습니다."); } if( (!isuueDt.isAfter(strtDt) // 발행일(06-04)이 시작일(06-05)보다 크지(이후이지) 않고 && !isuueDt.isBefore(endDt) )) // 발행일(06-04)이 종료일(06-05)보다 작지(이전이지)않고 { throw new exception("발행일이 시작일과 종료일 사이에 속해있지 않습니다."); }else{ System.out.println("발행일이 시작일과 종료일 사이에 속해있음."); } | cs |
LocalDate, LocalDateTime의 형식과 Compare 방법에 대해 알 수 있었다.
'전체 > Java' 카테고리의 다른 글
Java Collection FrameWork Hierarchy Diagram 자바 컬렉션 프레임 워크 계층 다이어그램 (0) | 2018.06.10 |
---|---|
Linked List와 ArrayList 구조,특징, 비교 (0) | 2018.06.08 |
자바 동적변수 생성 테스트. 해결방법은? (0) | 2018.05.30 |
Camel to Underscores, Underscores to Camel 플러그인 AnyEdit 사용하기 (0) | 2018.04.04 |
자바, 자바스크립트 Array to String, String to Array 문자열을 배열로 넣는 방법 (0) | 2018.04.04 |