반응형
MongoDB 에서 보내오는 Date Format 형식은 아래와 같다.
yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
2024-04-06T07:27:00.000Z
해당 날짜는 한국 시간과 일치하지 않아, 변환이 필요하다.
변환 도중 실패한 사례는 아래와 같다.
import java.text.SimpleDateFormat
import java.util.Date
var dateFormat = SimpleDateFormat("yyyy.MM.dd HH:mm", Locale.KOREAN)
val sdf = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.US)
dateFormat.timeZone = TimeZone.getTimeZone("Asia/Seoul")
val date : Date? = sdf.parse("2024-04-06T07:27:00.000Z")
date?.let {
Log.d("test_date", dateFormat.format(it))
}
위 코드는 에뮬레이터에서는 정상 동작하였으나, 실제 디바이스에서는 변환이 되지 않는 현상이 있었다.
그래서, 아래 코드로 적용 후에는 실제 디바이스에서도 변환이 정상적으로 가능하게 되었다.
import java.time.OffsetDateTime
import java.time.ZoneId
import java.time.format.DateTimeFormatter
val zone = ZoneId.of("Asia/Seoul")
val fmt = DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm", Locale.getDefault())
val dateTime = OffsetDateTime.parse("2024-04-06T07:27:00.000Z").atZoneSameInstant(zone)
dateTime?.let {
Log.d("test_date", fmt.format(it))
}
반응형
'Programming > Android' 카테고리의 다른 글
[Kotlin/Android] Ktor 를 이용한 Api 통신 (0) | 2024.03.24 |
---|---|
[Kotlin/Android] Hilt를 사용한 종속 항목 삽입 (0) | 2021.09.28 |
[Kotlin/Android] PIP 모드 (0) | 2021.09.07 |
[Kotlin/Android] CameraX (0) | 2021.08.23 |
[Kotlin/Android] Paging 3 + Room DB (0) | 2021.08.18 |