Fix incorrect saved tracker dates (#5581)

This commit is contained in:
Ivan Iskandar
2021-07-20 04:45:46 +07:00
committed by GitHub
parent 116fec208b
commit be28e0b559
2 changed files with 39 additions and 7 deletions

View File

@@ -46,9 +46,9 @@ fun Long.toCalendar(): Calendar? {
}
/**
* Convert epoch long to Calendar instance in UTC
* Convert local time millisecond value to Calendar instance in UTC
*
* @return UTC Calendar instance at supplied epoch time. Null if epoch was 0.
* @return UTC Calendar instance at supplied time. Null if time is 0.
*/
fun Long.toUtcCalendar(): Calendar? {
if (this == 0L) {
@@ -69,3 +69,28 @@ fun Long.toUtcCalendar(): Calendar? {
)
}
}
/**
* Convert UTC time millisecond to Calendar instance in local time zone
*
* @return local Calendar instance at supplied UTC time. Null if time is 0.
*/
fun Long.toLocalCalendar(): Calendar? {
if (this == 0L) {
return null
}
val rawCalendar = Calendar.getInstance(TimeZone.getTimeZone("UTC")).apply {
timeInMillis = this@toLocalCalendar
}
return Calendar.getInstance().apply {
clear()
set(
rawCalendar.get(Calendar.YEAR),
rawCalendar.get(Calendar.MONTH),
rawCalendar.get(Calendar.DAY_OF_MONTH),
rawCalendar.get(Calendar.HOUR_OF_DAY),
rawCalendar.get(Calendar.MINUTE),
rawCalendar.get(Calendar.SECOND)
)
}
}