【问题标题】:CountdownTimer is not working as intended (wrong time)CountdownTimer 未按预期工作(时间错误)
【发布时间】:2019-11-07 02:58:27
【问题描述】:

我在我的应用程序中使用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))

【问题讨论】:

    标签: android kotlin android-date android-timer


    【解决方案1】:

    您必须在此处指定要运行多长时间的计时器时间(从现在起 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))
    

    【讨论】:

      猜你喜欢
      • 2015-03-25
      • 2019-11-04
      • 2014-01-09
      • 2021-08-04
      • 1970-01-01
      • 1970-01-01
      • 2020-03-04
      • 2017-04-23
      • 2021-05-04
      相关资源
      最近更新 更多