我在我的应用中使用CountdownTimer
来显示剩余时间,直到特定的Date
。但是Date
距当前时间只有2个小时,但是如果我将millisUntilFinished
转换为小时,则表示9个小时。 Date
采用UTC格式。
remainingTimer = object : CountDownTimer(dateTime.time, 1000) {
override fun onTick(millisUntilFinished: Long) {
remTime = millisUntilFinished
notifyChanged(PAYLOAD_UPDATE_REM_TIME)
}
override fun onFinish() {
swapTimers()
}
}.start()
val hours = ((remTime / (1000 * 60 * 60)).rem(24))
答案 0 :(得分:0)
在这里您必须指定计时器时间要运行多长时间(从现在开始2小时= 2 * 60 * 60 * 1000毫秒) 如果您将日期转换为毫秒,则返回的日期将无法按您想要的方式工作,
remainingTimer = object : CountDownTimer(2*60*60*1000, 1000) {
override fun onTick(millisUntilFinished: Long) {
remTime = millisUntilFinished
notifyChanged(PAYLOAD_UPDATE_REM_TIME)
}
override fun onFinish() {
swapTimers()
}
}.start()
val hours = ((remTime / (1000 * 60 * 60)).rem(24))