Fixes in DateProvider
This commit is contained in:
parent
68a44c4cc7
commit
d44a6c50f1
@ -19,27 +19,30 @@ package im.vector.app.core.resources
|
||||
import org.threeten.bp.Instant
|
||||
import org.threeten.bp.LocalDateTime
|
||||
import org.threeten.bp.ZoneId
|
||||
import org.threeten.bp.ZoneOffset
|
||||
|
||||
object DateProvider {
|
||||
|
||||
private val zoneId = ZoneId.systemDefault()
|
||||
private val zoneOffset by lazy {
|
||||
val now = currentLocalDateTime()
|
||||
zoneId.rules.getOffset(now)
|
||||
}
|
||||
// recompute the zoneId each time we access it to handle change of timezones
|
||||
private val defaultZoneId: ZoneId
|
||||
get() = ZoneId.systemDefault()
|
||||
|
||||
// recompute the zoneOffset each time we access it to handle change of timezones
|
||||
private val defaultZoneOffset: ZoneOffset
|
||||
get() = defaultZoneId.rules.getOffset(currentLocalDateTime())
|
||||
|
||||
fun toLocalDateTime(timestamp: Long?): LocalDateTime {
|
||||
val instant = Instant.ofEpochMilli(timestamp ?: 0)
|
||||
return LocalDateTime.ofInstant(instant, zoneId)
|
||||
return LocalDateTime.ofInstant(instant, defaultZoneId)
|
||||
}
|
||||
|
||||
fun currentLocalDateTime(): LocalDateTime {
|
||||
val instant = Instant.now()
|
||||
return LocalDateTime.ofInstant(instant, zoneId)
|
||||
return LocalDateTime.ofInstant(instant, defaultZoneId)
|
||||
}
|
||||
|
||||
fun toTimestamp(localDateTime: LocalDateTime): Long {
|
||||
return localDateTime.toInstant(zoneOffset).toEpochMilli()
|
||||
return localDateTime.toInstant(defaultZoneOffset).toEpochMilli()
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user