package java.time
Date와 Calendar가 가지고 있던 단점들을 개선한 패키지.
4개의 하위 패키지를 가지고 있다.
날짜나 시간을 변경하는 메서드들은 항상 변경된 새로운 객체를 반환한다. = 불변Immutable
Class Period
날짜의 차이를 계산한다.
년월일을 구분해서 저장한다.
between()
두 날짜의 차이를 계산한다.
start 날짜가 end 날짜 상으로 이전이면 양수로, 이후면 음수로 Period에 저장된다.
Java
1
static Period between(LocalDate startDateInclusive, LocalDate endDateExclusive)Java
1
2
3
4
LocalDate date1 = LocalDate.now(); // 2017-09-13
LocalDate date2 = LocalDate.of(2018, 11, 17);
Period pe = Period.between(date1, date2); // P1Y2M4Duntil()
between()과 거의 같은 일을 한다.
D-day를 구하려는 경우 between()보다 이 메서드를 사용하는 것이 낫다.
Java
1
2
Period until(ChronoLocalDate endDateExclusive) // LocalDate Method
long until(Temporal endExclusive, TemporalUnit unit) // LocalDate/LocalTime MethodJava
1
2
Period pe = date1.until(date2); // P1Y2M4D
long Dday = date1.until(date2, ChronoUnit.DAYS); // 430get()
특정 필드의 값을 얻는다.
Java
1
2
3
long year = pe.get(ChronoUnit.YEARS); // 1
long month = pe.get(ChronoUnit.MONTHS); // 2
long day = pe.get(ChronoUnit.DAYS); // 4getXXX()
Java
1
2
3
int getDays()
int getMonths()
int getYears()getUnits()
Period가 get()에 사용할 수 있는 ChronoUnit의 종류를 알려준다.
Java
1
List<TemporalUnit> getUnits() // [Years, Months, Days]static Period of()
지정된 값으로 Period 객체를 생성한다.
Java
1
2
3
4
5
static Period of(int years, int months, int days)
static Period ofDays(int days)
static Period ofMonths(int months)
static Period ofWeeks(int weeks)
static Period ofYears(int years)Period with()
특정 필드의 값을 변경한다.
Java
1
2
3
Period withDays(int days)
Period withMonths(int months)
Period withYears(int years)사칙연산
plus() / minus()
다음은 plus 메서드로, minus 메서드는 plus를 minus로 바꾸기만 하면 된다.
Java
1
2
3
4
Period plus(TemporalAmount amountToAdd)
Period plusDays(long daysToAdd)
Period plusMonths(long monthsToAdd)
Period plusYears(long yearsToAdd)곱셈
Java
1
Period multipliedBy(int scalar)나눗셈
Period는 날짜의 기간을 표현하기 위한 것으로, 나눗셈을 위한 메서드가 없다.
Java
1
pe = pe.minusYears(1).multipliedBy(2); // P4M8Dboolean isNegative()
음수인지 확인하는 메서드
Java
1
boolean b = pe.isNegative(); // falseboolean isZero()
0인지 확인하는 메서드
Java
1
boolean b = pe.isZero(); // falsePeriod negated()
부호를 반대로 변경하는 메서드
Java
1
boolean b = pe.negated().isNegative(); // truePeriod normalized()
월(month)의 값이 12를 넘지 않게 한다.
일(day)의 길이는 일정하지 않아 그대로 놔둔다.
Java
1
pe = Period.of(1, 13, 32).normalized(); // 1년 13개월 32일 → 2년 1개월 32일long toTotalMonths()
년월일을 월 단위로 변환해서 반환한다.
일 단위는 무시한다.
LocalDate의 toEpochDay()
Epoch Day인 '1970-01-01'부터 날짜를 세어서 반환한다.
Period를 대신하여 두 날짜간의 일수를 계산할 수 있다.
단, 두 날짜 모두 Epoch Day 이후의 것이어야 한다.
Java
1
long i = date2.toEpochDay() - date1.toEpochDay(); // 430참고 서적: 자바의 정석 3판 2

[Java] Java 환경변수 설정하기
Java 설치 후 환경변수를 설정하는 방법을 설명한 글입니다.
Java

[입문] 웹 프론트 엔드 - 4주차 - box model
웹 프론트 엔드 강의 4주차 입니다.
CSS
