Java/time

    Java time - LocalDateTime 파싱과 포맷

    파싱과 포맷 날짜와 시간을 원하는 형식으로 출력하고 해석(파싱, parsing)하는 방법 형식화(formatting)와 관련된 클래스들은java.time.format패키지에 들어있음 이 중 DateTimeFormatter가 핵심 LocalDate date = LocalDate.of(2016, 1, 2); String yyyymmdd = DateTimeFormatter.ISO_LOCAL_DATE.format(date); // "2016-01-02" String yyyymmdd = date.format(DateTimeFormatter.ISO_LOCAL_DATE); // "2016-01-02" DateTimeFormatter 자주 쓰이는 다양한 형식들을 기본적으로 정의 그 외의 형식이 필요하다면 직접 정의해서..

    Java time 패키지 - TemporalAdjusters 클래스

    TemporalAdjusters 자주 쓰일만한 날짜 계산들을 대신 해주는 메서드를 정의해 놓은 클래스 예시 : 다음 주 월요일의 날짜를 계산할 때 TemporalAdjusters에 정의된 next()를 사용한 예 LocalDate today = LocalDate.now(); LocalDate nextMonday = today.with(TemporalAdjusters.next(DayOfWeek.MONDAY)); 메서드 종류 메서드 설명 firstDayOfNextYear() 다음 해의 첫 날 firstDayOfNextMonth() 다음 달의 첫 날 firstDayOfYear() 올 해의 첫 날 firstDayOfMonth() 이번 달의 첫 날 lastDayOfYear() 올 해의 마지막 날 lastDayOf..

    Java time 패키지 - Period, Duration 클래스

    Period와 Duration Period 클래스 : 두 날짜 간의 차이를 표현하기 위한것. 날짜 - 날짜 Duration 클래스 : 시간의 차이를 표현하기 위한 클래스. 시간 - 시간 duration에서 시/분/초/나노초 구하기 duration에서 시/분/초/나노초 구하기 - 1 ( 덜 안전함) 불편하지만 사용할 수 있는 방법 시간 : long hour = du.getSeconds() / 3600; 분 : long min = (du.getSeconds() - hour*3600) / 60; 초 : long sec = (du.getSeconds() - hour*3600 - min * 60) % 60; 나노 : nano = du.getNano(); duration에서 시/분/초/나노초 구하기 - 2 (좀 더..

    Java time 패키지 - Calendar와 Date

    1. Calendar 와 Date Date는 JDK1.0, Calendar는 JDK1.1 부터 제공되었다. JDK1.8부터 java.time 패키지로 Calendar와 Date의 단점을 개선한 클래스들이 추가되었다. Calendar는 추상클래스라서 객체를 직접 생성할 수 없고, 메소드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 한다. // 에러. 추상클래스는 인스턴스를 생성할 수 없다. Calendar cal = new Calendar(); // 굿. getInstance()는 Calendar 클래스를 구현한 클래스의 인스턴스를 반환 Calendar cal = Calendar.getInstance(); Calendar.getInstance() 가 static인이유 Calendar는 추상클래스 메소..

    Java time 패키지 - LocalDateTime, ZoneDateTime, OffsetDateTime

    ' 연산은 LocalDate, LocalTime 을 보면서 하면 된다. LocalDateTime LocalDate와 LocalTime을 합쳐서 LocalDateTime을 만들 수 있다. (둘의 기능을 합쳐놓았다고 보면 된다) LocalDate date = LocalDate.of(2018, 10, 05); LocalTime time = LocalTime.of(12,34,56); LocalDateTime dt = LocalDateTime.of(date, time); LocalDateTime dt2 = date.atTime(time); LocalDateTime dt3 = time.atDate(date); LocalDateTime dt4 = date.atTime(12, 34 ,56); LocalDateTime ..

    Java time 패키지 - LocalDate, LocalTime, Instant

    java.time 패키지 - LocalDate, LocalTime Java의 탄생과 함께한 Date와 Calendar의 단점을 해소하기 위해 JDK 1.8부터 java.time 패키지가 추가되었다. 이 패키지는 4개의 하위 패키지가 있다. 패키지 설명 java.time 날짜와 시간을 다루는데 필요한 핵심 클래스들 제공 java.time.chrono 표준(ISO)이 아닌 달력 시스템을 위한 클래스들 제공 java.time.format 날짜와 시간을 파싱, 형식화하기 위한 클래스들 제공 java.time.temporal 날짜와 시간의 필드와 단위(unit)을 위한 클래스들 제공 java.time.zone 시간대(time-zone)와 관련된 클래스들 제공 이 패키지의 클래스들은 다 불변이다. Immutable..