Java ZonedDateTime 클래스는 시간대를 포함한 날짜-시간의 불변 표현입니다. Object 클래스를 상속하고 ChronoZonedDateTime 인터페이스를 구현합니다.
ZonedDateTime 클래스는 모든 날짜 및 시간 필드를 나노초 단위의 정밀도로 저장하고 모호한 현지 날짜 시간을 처리하는 데 사용되는 영역 오프셋이 있는 시간대를 저장하는 데 사용됩니다.
Java ZonedDateTime 클래스 선언
java.time.ZonedDateTime 클래스의 선언을 살펴보겠습니다.
.다음 자바
public final class ZonedDateTime extends Object implements Temporal, ChronoZonedDateTime, Serializable
Java ZonedDateTime의 메소드
방법 | 설명 |
---|---|
문자열 형식(DateTimeFormatter 포맷터) | 지정된 포맷터를 사용하여 이 날짜-시간의 형식을 지정하는 데 사용됩니다. |
int get(TemporalField 필드) | 이 날짜-시간에서 지정된 필드의 값을 int로 가져오는 데 사용됩니다. |
ZoneId getZone() | 'Asia/Kolkata'와 같은 시간대를 가져오는 데 사용됩니다. |
ZonedDateTime withZoneSameInstant(ZoneId 구역) | 순간을 유지하면서 다른 시간대를 사용하여 이 날짜-시간의 복사본을 반환하는 데 사용됩니다. |
이제 정적 ZonedDateTime() | 기본 시간대의 시스템 시계에서 현재 날짜-시간을 얻는 데 사용됩니다. |
정적 ZonedDateTime of(LocalDate 날짜, LocalTime 시간, ZoneId 영역) | 현지 날짜 및 시간에서 ZonedDateTime 인스턴스를 가져오는 데 사용됩니다. |
ZonedDateTime 빼기(long amountToSubtract, TemporalUnit 단위) | 지정된 금액을 뺀 이 날짜-시간의 복사본을 반환하는 데 사용됩니다. |
ZonedDateTime plus(long amountToAdd, TemporalUnit 단위) | 지정된 금액을 추가하여 이 날짜-시간의 복사본을 반환하는 데 사용됩니다. |
Java ZonedDateTime 클래스 예
import java.time.ZonedDateTime; public class ZonedDateTimeExample1{ public static void main(String[] args) { ZonedDateTime zone = ZonedDateTime.parse('2016-10-05T08:20:10+05:30[Asia/Kolkata]'); System.out.println(zone); } }지금 테스트해보세요
산출:
2016-10-05T08:20:10+05:30[Asia/Kolkata]
Java ZonedDateTime 클래스 예: of() 및 withZoneSameInstant()
import java.time.*; public class ZonedDateTimeExample2{ public static void main(String[] args) { LocalDateTime ldt = LocalDateTime.of(2017, Month.JANUARY, 19, 15, 26); ZoneId india = ZoneId.of('Asia/Kolkata'); ZonedDateTime zone1 = ZonedDateTime.of(ldt, india); System.out.println('In India Central Time Zone: ' + zone1); ZoneId tokyo = ZoneId.of('Asia/Tokyo'); ZonedDateTime zone2 = zone1.withZoneSameInstant(tokyo); System.out.println('In Tokyo Central Time Zone:' + zone2); } }지금 테스트해보세요
산출:
자바를 업그레이드하는 방법
In India Central Time Zone: 2017-01-19T15:26+05:30[Asia/Kolkata] In Tokyo Central Time Zone:2017-01-19T18:56+09:00[Asia/Tokyo]
Java ZonedDateTime 클래스 예: getZone()
import java.time.ZonedDateTime; public class ZonedDateTimeExample3{ public static void main(String[] args) { ZonedDateTime zone =ZonedDateTime.now(); System.out.println(zone.getZone()); } }지금 테스트해보세요
산출:
Asia/Kolkata
Java ZonedDateTime 클래스 예: minus()
import java.time.Period; import java.time.ZonedDateTime; public class ZonedDateTimeExample4 { public static void main(String[] args) { ZonedDateTime zone= ZonedDateTime.now(); ZonedDateTime m = zone.minus(Period.ofDays(126)); System.out.println(m); } }지금 테스트해보세요
산출:
2016-09-15T12:54:01.354+05:30[Asia/Kolkata]
Java ZonedDateTime 클래스 예: plus()
import java.time.*; public class ZonedDateTimeExample5{ public static void main(String[] args) { ZonedDateTime zone= ZonedDateTime.now(); ZonedDateTime p = zone.plus(Period.ofDays(126)); System.out.println(p); } }지금 테스트해보세요
산출:
2017-05-25T12:56:12.417+05:30[Asia/Kolkata]