자바 8 새 날짜 시간 클래스(3)

15509 단어 Java8 새로운 기능
java.time 시간 날짜 오프셋 클래스
java.time 로 컬 날짜 시간 오프셋 을 처리 하 는 주요 종 류 는 java.time.Duration,java.time.Period 입 니 다. 
;
  • Period - 시간 기반 날짜 수 를 처리 합 니 다
  • Duration - 시간 에 기초 한 시간 을 처리 합 니 다

  • Duration
    정적 구조 요약
    static Duration static Duration  static Duration
    between(LocalTime startInclusive,LocalTime endExclusive)of(long amount,TemporalUnit unit)ofHours(long hours)ofMinutes(long minutes)ofSeconds(long seconds)
    두 개의 시간 차 를 사용 하여 Duration 을 생 성 합 니 다.Temporal 은 LocalDateTime,ZonedDateTime 등 지 정 된 TemperalUnit 을 사용 하여 Duration 을 생 성 합 니 다.
    멤버 방법 요약
    +long +Duration +long +List +Duration +boolean
    toHours() / toMinutes() /toSeconds() toMillis()  / toNanos()withSeconds(long seconds)getSeconds() / getNanos() getUnits() plus(long amountToAdd,TemporaUnit unit)plusHours(long)/plusMinute(long)/plusSeconds(long)isZero()
    Duration 을 해당 단위 의 수치 로 변경 하여 수치 획득(효 과 는 toSeconds,toNanos)매개 변수 표를 획득 하여 Duration 에 대한 증감 검사 값 이 0 인지 확인 합 니 다.
    Period
    정적 구조 요약
    static Period static Period static Period
    between(LocalDate startInclusive,LocalDate endExclusive)of(int years,int months,int days)ofYears(long hours)ofMonths(long minutes)ofDayss(long seconds)
    두 개의 시간 차 를 사용 하면 Duration 이 발생 합 니 다.Temporal 은 LocalDateTime,ZonedDateTime 등 지 정 된 수 치 를 사용 하여 Period 를 만 듭 니 다.
    멤버 방법 요약
    +long +Period +List +long  +Period +boolean
    toTotalMonths() withDays(long seconds)/withMonths/withYearsgetUnits() getYears() / getMonths() / getDays() plus(long amountToAdd,TemporaUnit unit)plusDays(long)/plusMonths(long)/plusYears(long)isZero()
    Period 를 해당 단위 로 전환 하 는 수치 수정 수치 획득 매개 변수 표 획득 매개 변 수 를 가 져 와 Period 를 증감 하여 비어 있 는 지 판단 합 니 다.
    사용 예시
     
        
    1. import java.time.*;
    2. ....
    3. // Temporal
    4. LocalDate date1 = LocalDate.of(1997,1,1);
    5. LocalDate date2 = LocalDate.now();
    6. Period period = Period.between(date1,date2);
    7. System.out.println("date1: "+date1+"
      date2: "
      +date2);
    8. System.out.println("Period->years:"+period.getYears()+" months:"+period.getMonths()+" days:"+period.getDays());
    9. LocalTime time1 = LocalTime.of(0,0,0);
    10. LocalTime time2 = LocalTime.now();
    11. System.out.println("time1: "+time1+"
      time2: "
      +time2);
    12. Duration duration = Duration.between(time1,time2);
    13. System.out.print("Duration->");
    14. duration.getUnits().forEach( temporalUnit -> System.out.print(temporalUnit+": "+duration.get(temporalUnit)+" ") );

     
         
    1. date1: 1997-01-01
    2. date2: 2017-02-28 Period->years:20 months:1 days:27 time1: 00:00 time2: 19:21:16.062 Duration->Seconds: 69676 Nanos: 62000000

    좋은 웹페이지 즐겨찾기