27 lines
829 B
Kotlin
27 lines
829 B
Kotlin
package kr.co.vividnext.sodalive.extensions
|
|
|
|
import java.time.LocalDate
|
|
import java.time.LocalDateTime
|
|
import java.time.ZoneId
|
|
import java.time.format.DateTimeFormatter
|
|
|
|
fun String.convertLocalDateTime(format: String): LocalDateTime {
|
|
val dateTimeFormatter = DateTimeFormatter.ofPattern(format)
|
|
return LocalDateTime.parse(this, dateTimeFormatter)
|
|
}
|
|
|
|
fun String.convertLocalDateTime(
|
|
format: String = "yyyy-MM-dd",
|
|
currentTimeZoneStr: String = "Asia/Seoul",
|
|
hour: Int = 0,
|
|
minute: Int = 0,
|
|
second: Int = 0
|
|
): LocalDateTime {
|
|
val dateTimeFormatter = DateTimeFormatter.ofPattern(format)
|
|
return LocalDate.parse(this, dateTimeFormatter)
|
|
.atTime(hour, minute, second)
|
|
.atZone(ZoneId.of(currentTimeZoneStr))
|
|
.withZoneSameInstant(ZoneId.of("UTC"))
|
|
.toLocalDateTime()
|
|
}
|