[Kotlin] 한국 시간 가져오기
April 06, 2024
시스템 설정에 따라서 다른 지역의 시간을 가져올 수 있는데, 지역과 무관하게 항상 한국 시간을 가져오는 방법에 대해서 알아보겠습니다.
1. LocalDateTime을 이용한 방법
Java에서 제공하는 time 라이브러리를 사용하여 한국 시간을 가져올 수 있습니다.
아래와 같이 한국 시간대의 ZoneId로 현지 시간을 가져올 수 있습니다.
ZoneId.of("Asia/Seoul")
: 한국 시간대 (Asia/Seoul)의 시간을 가져옴LocalDateTime.now(koreaTimeZone)
: TimeZone에 맞는 LocalDateTime을 가져옴
import java.time.ZoneId
import java.time.LocalDateTime
fun main() {
// 한국 시간대 (Asia/Seoul)의 시간을 가져옴
val koreaTimeZone = ZoneId.of("Asia/Seoul")
val koreaTime = LocalDateTime.now(koreaTimeZone)
println("한국 시간: $koreaTime")
}
Output:
한국 시간: 2023-09-18T04:59:31.815
2. Calendar를 이용한 방법
한국 시간대의 TimeZone을 가져오고, Calendar를 한국 시간대로 변경하여 시간을 가져오면 한국 시간을 가져올 수 있습니다. calendar는 이제 잘 안쓰이기 때문에, LocalDateTime를 사용하여 시간을 가져오도록 구현하는 것이 좋습니다.
TimeZone.getTimeZone("Asia/Seoul")
: 한국 시간대의 TimeZone 가져옴Calendar.getInstance(koreaTimeZone)
: 한국 시간대로 설정된 Calendar 객체 생성calendar.time
: 한국 시간 가져옴
import java.util.TimeZone
import java.util.Calendar
fun main() {
// 한국 시간대 가져옴
val koreaTimeZone = TimeZone.getTimeZone("Asia/Seoul")
// Calendar 객체를 생성하고 한국 시간대로 설정
val calendar = Calendar.getInstance(koreaTimeZone)
// 현재 시간을 가져옴
val koreaTime = calendar.time
println("한국 시간: $koreaTime")
}
Output:
한국 시간: Mon Sep 18 05:05:40 KST 2023