java.util.Date의 시간대 설정
이 빠른 자습서에서는 Java를 사용하여 날짜와 관련된 시간대를 설정하는 방법을 살펴봅니다. java.util.Date
에는 시간대가 없습니다.
시간대 오프셋이 없는 UTC/GMT 표준을 나타냅니다. 문자열 표현을 생성할 때 toString
함수는 JVM의 기본 시간대를 애플리케이션의 기반으로 사용하기 때문입니다.
기본 제공 java.util.Date
, .Calendar
및 java.text.SimpleDateFormat
클래스는 일반적으로 작업하기 어려우므로 피해야 합니다. 대신 Java 8과 함께 표준으로 제공되는 java.time
패키지를 사용합니다.
다음은 java.time
클래스가 시간대를 나타내는 방법입니다.
ZonedDateTime
을 사용하여 java.util.Date
의 시간대 설정
시간대, 오프셋 및 일광 절약 시간제
또는 DST
와 같은 불규칙성을 처리하기 위한 지침을 적용하는 것이 대안보다 더 나은 옵션입니다.
ZoneId
가 Instant
와 함께 사용되면 ZonedDateTime
이 생성됩니다. 항상 시간대에 올바른 이름을 사용해야 합니다.
구체적이지도 표준화되지도 않은 EST
와 같은 3~4자의 약어는 절대 사용해서는 안 됩니다.
ZoneId zId = ZoneId.of("Pakistan/Karachi");
ZonedDateTime zonedt = ZonedDateTime.ofInstant(instant, zId);
UTC Instant
를 사용하여 java.util.Date
의 시간대 설정
‘Instant’는 ‘java.time’의 기본 구성 요소입니다. ‘UTC’로 측정되는 타임라인의 ‘인스턴트’를 나타냅니다.
Instant
개체를 사용하여 대부분의 애플리케이션 로직을 구현합니다.
Instant instant = Instant.now();
로컬 날짜 시간
구문 분석 중인 텍스트에 오프셋 또는 영역 표시기가 포함되어 있지 않으면 LocalDateTime
으로 해석해야 합니다.
사용해야 하는 시간대에 대해 명확한 경우 ZoneId
를 할당하여 ZonedDateTime
을 생성할 수 있습니다. 다음 코드 샘플을 참조하십시오.
LocalDateTime.parse("2022-09-10T01:13:15.123456789").atZone(ZoneId.of("Asia/Pakistan"))
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn