2020. 9. 27. 20:27ㆍ개인공부/java
13. Date와 Time API
지금 이 순간을 기계 시간으로 표현하는 방법
-
● Instant.now(): 현재 UTC (GMT)를 리턴한다.
-
● Universal Time Coordinated == Greenwich Mean Time
인류용 일시를 표현하는 방법
-
● LocalDateTime.now(): 현재 시스템 Zone에 해당하는(로컬) 일시를 리턴한다.
-
● LocalDateTime.of(int, Month, int, int, int, int): 로컬의 특정 일시를 리턴한다.
-
● ZonedDateTime.of(int, Month, int, int, int, int, ZoneId): 특정 Zone의 특정 일시를
리턴한다.
기간을 표현하는 방법
● Period / Duration . beteen()
Period between = Period.between(today, birthDay); System.out.println(between.get(ChronoUnit.DAYS));
파싱 또는 포매팅
-
● 미리 정의해둔 포맷 참고
https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#pre
defined
-
● LocalDateTime.parse(String, DateTimeFormatter);
-
● Dateteme
레거시 API 지원
Instant now = Instant.now(); System.out.println(now); System.out.println(now.atZone(ZoneId.of("UTC")));
ZonedDateTime zonedDateTime = now.atZone(ZoneId.systemDefault()); System.out.println(zonedDateTime);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/d/yyyy");
LocalDate date = LocalDate.parse("07/15/1982", formatter); System.out.println(date); System.out.println(today.format(formatter));
● ●
GregorianCalendar와 Date 타입의 인스턴스를 Instant나 ZonedDateTime으로 변환 가능. java.util.TimeZone에서 java.time.ZoneId로 상호 변환 가능.
ZoneId newZoneAPI = TimeZone.getTimeZone("PST").toZoneId();
TimeZone legacyZoneAPI = TimeZone.getTimeZone(newZoneAPI);
Instant newInstant = new Date().toInstant(); Date legacyInstant = Date.from(newInstant);
'개인공부 > java' 카테고리의 다른 글
Java - Executors (0) | 2020.09.28 |
---|---|
Java- Concurrent 프로그래밍 (0) | 2020.09.28 |
JAVA - stream (0) | 2020.09.27 |
JAVA - 함수형 인터페이스 (0) | 2020.09.26 |
JAVA - 메타 애너테이션 (0) | 2020.09.26 |