자바 8 시간 인터페이스 LocalDateTime 상세 용법

1.새로운 시간 날짜 API 상용,중요 대상 소개
  • ZoneId:시간 대 ID,Instant 와 LocalDateTime 이 서로 전환 하 는 규칙 을 확인 합 니 다
  • Instant:타임 라인 의 한 점(순간)을 나타 내 는 데 사용 합 니 다
  • LocalDate:시간 대가 없 는 날 짜 를 표시 합 니 다.LocalDate 는 가 변 적 이지 않 고 라인 이 안전 합 니 다
  • LocalTime:시간 대가 없다 는 뜻 이 고 LocalTime 은 가 변 적 이지 않 으 며 라인 이 안전 하 다 는 뜻 이다
  • LocalDateTime:시간 대가 없 는 날짜 시간 을 나타 내 고 LocalDateTime 은 가 변 적 이지 않 으 며 라인 이 안전 하 다
  • Clock:현재 시각,날짜,시간 을 방문 할 때 사용 합 니 다
  • Duration:초 와 나 초 로 시간 을 표시 하 는 수량(장단),두 날 짜 를 계산 하 는'시간'간격
  • 기간:두 개의'날짜'간격 을 계산 하 는 데 사 용 됩 니 다
  • 그 중에서 LocalDate,LocalTime,LocalDateTime 은 새로운 API 의 기본 대상 으로 절대 다수의 조작 은 이 몇 개의 대상 을 중심 으로 진행 되 므 로 명확 하 게 알 필요 가 있다.
    LocalDate:년 월 일 만 을 포함 하 는 날짜 대상LocalTime:시 분 초 만 포함 하 는 시간 대상LocalDateTime:연월일 시 분 초의 날짜 대상 을 동시에 포함 합 니 다둘째,JDK 8 신규 날짜 와 시간의 새로운 클래스
    자바 8 은 Date 와 Time 에 새로운 API 를 도입 하여 오래된 자바 util.Date 와 자바 util.Calendar 의 단점 을 해결 합 니 다.
    자바 8 시간 라 이브 러 리 의 핵심 클래스,예 를 들 어 LocalDate,LocalTime,LocalDateTime,ZonedDateTime,Period,Duration 과 그들의 api.
    1.획득 시간
    
    @Test
    public void testGetDate() {
         /**
         * 1.     
         */
        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println("    :" + localDateTime);
        System.out.println("    :" + localDateTime.getYear());
        System.out.println("    :" + localDateTime.getMonth());
        System.out.println("    :" + localDateTime.getDayOfMonth());
        System.out.println("   :" + localDateTime.getHour());
        System.out.println("   :" + localDateTime.getMinute());
        System.out.println("   :" + localDateTime.getSecond());
    }
    
    콘 솔 출력:
    현재 시간:2021-05-17T 14:20:49.680
     현재 년도:2021
     현재 달:MAY
     현재 일:17
     현재 시간:14
     현재 점수:20
     현재 초:49
    2.날짜 수정
    
    @Test
    public void testUpdateLocalDateTime() {
       /**
       * 2.     
       */
       LocalDateTime localDateTime1 = LocalDateTime.now();
       localDateTime1.plusYears(50); //  50 
       localDateTime1.minusMonths(6); //  6  
       localDateTime1.withYear(2100); //    
       localDateTime1.withMonth(6); //    
    }
    
    3.날짜 와 날짜 시간 포맷
    
    @Test
    public void testFormatLocalDateTime() {
       /**
       * 3.      
       */
       LocalDateTime rightNow = LocalDateTime.now();
       rightNow.format(DateTimeFormatter.ISO_DATE); //  :yyyy-MM-dd
       rightNow.format(DateTimeFormatter.BASIC_ISO_DATE); //  :yyyyMMdd
       rightNow.format(DateTimeFormatter.ofPattern("yyyy/MM/dd")); //  :yyyy/MM/dd
       rightNow.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); //  :yyyy-MM-dd HH:mm:ss
       System.out.println("YYYY-MM-DD = " + rightNow.format(DateTimeFormatter.ISO_DATE));
       System.out.println("YYYYMMDD = " + rightNow.format(DateTimeFormatter.BASIC_ISO_DATE));
       System.out.println("YYYY/MM/DD = " + rightNow.format(DateTimeFormatter.ofPattern("yyyy/MM/dd")));
       System.out.println("YYYY-MM-DD HH:mm:ss = " + rightNow.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
    }
    
    콘 솔 출력:
    YYYY-MM-DD = 2021-05-17
    YYYYMMDD = 20210517
    YYYY/MM/DD = 2021/05/17
    YYYY-MM-DD HH:mm:ss = 2021-05-17 14:20:49
    4.날짜 시간 반분 석
    
    @Test
    public void testParseLocalDateTime() {
        /**
        * 4.      
        */
        LocalDateTime localDateTime = LocalDateTime.parse("2021--05--17 14:20:49", DateTimeFormatter.ofPattern("yyyy--MM--dd HH:mm:ss"));
        System.out.println("           :" + localDateTime);
    }
    
    콘 솔 출력:
    문자열 반분 석 후 시간:2021-05-17T 14:20:49
    5.날짜 포맷
    
    @Test
    public void testFormatLocalDate() {
       /**
        * 5.      
        */
        LocalDate localDate = LocalDate.now();
        localDate.format(DateTimeFormatter.ISO_DATE); //  :yyyy-MM-dd
        localDate.format(DateTimeFormatter.BASIC_ISO_DATE); //  :yyyyMMdd
        localDate.format(DateTimeFormatter.ofPattern("yyyy/MM/dd")); //  :yyyy/MM/dd
        System.out.println("yyyy-MM-dd = " + localDate.format(DateTimeFormatter.ISO_DATE));
        System.out.println("yyyMMdd = " + localDate.format(DateTimeFormatter.BASIC_ISO_DATE));
        System.out.println("yyyy/MM/dd = " + localDate.format(DateTimeFormatter.ofPattern("yyyy/MM/dd")));
    }
    실행 결과:
    yyyy-MM-dd = 2021-05-18
    yyyMMdd = 20210518
    yyyy/MM/dd = 2021/05/18
    6.시간 포맷
    
    @Test
    public void testFormatLocalTime() {
        /**
         * 6.      
         */
         LocalTime localTime = LocalTime.now();
         localTime.format(DateTimeFormatter.ISO_TIME); //  :yyyy-MM-dd
         localTime.format(DateTimeFormatter.ISO_LOCAL_TIME); //  :yyyyMMdd
         localTime.format(DateTimeFormatter.ofPattern("HH:mm:ss")); //  :yyyy/MM/dd
         localTime.format(DateTimeFormatter.ofPattern("HH/mm/ss")); //  :yyyy/MM/dd
         System.out.println("HH:mm:ss = " + localTime.format(DateTimeFormatter.ISO_TIME));
         System.out.println("HH:mm:ss = " + localTime.format(DateTimeFormatter.ISO_LOCAL_TIME));
         System.out.println("HH:mm:ss = " + localTime.format(DateTimeFormatter.ofPattern("HH:mm:ss")));
         System.out.println("HH/mm/ss = " + localTime.format(DateTimeFormatter.ofPattern("HH/mm/ss")));
    }
    
    3.총화
    자바 8 이 출시 하기 시작 한 LocalDateTime 은 라인 이 안전 하기 때문에 개발 자 들 은 병발 문 제 를 더 이상 고려 할 필요 가 없다.
    자바 8 시간 인터페이스 LocalDateTime 의 상세 한 용법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 LocalDateTime 용법 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기