0

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))
4

1 回答 1

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))
于 2019-06-25T09:55:49.893 回答