android倒计时功能以及时间格式

//更新时间
    private var countDownTimer: CountDownTimer?=null
    private fun startCountTime(time:Long){
        if(countDownTimer==null){
            countDownTimer = object : CountDownTimer(time, 1000) {//60*1000, 1000
                override fun onTick(millisUntilFinished: Long) {
                    val t=(millisUntilFinished/1000).toInt()//需要对数字进行取整,防止数据不准确
                    val timeSdf=getTime((t*1000).toLong())//millisUntilFinished
                   
                }
                override fun onFinish() {

                }
            }
        }
        //countDownTimer!!.cancel()
        countDownTimer!!.start()
    }
    
    private fun getTime(a: Long): String {//单位为ms
        // 总时间 中有几天
        //val day = a / (1000 * 60 * 60 * 24)
        // 总时间 去除天数后,还剩多少小时
        val hour = a  / (1000 * 60 * 60)
        // 总时间 去除天数与小时后,还剩多少分钟
        val minute = (a- hour * (1000 * 60 * 60)) / (1000 * 60)
        // 总时间 去除天数小时与分钟后,还剩多少秒
        val second = (a  - hour * (1000 * 60 * 60) - minute * (1000 * 60) )/ 1000
        var mins=minute.toString()
        var secs=second.toString()
        var hous=hour.toString()
        if(hour>0){
            if(hour<10){
                hous="0$hous"
            }
        }else{
            hous="00"
        }
        if(minute>0){
            if(minute<10){
                mins="0$mins"
            }
        }else{
            mins="00"
        }
        if(second>0){
            if(second<10){
                secs="0$secs"
            }
        }else{
            secs="00"
        }
        return "$hous:$mins:$secs"
    }
    
    override fun onDestroy() {
        countDownTimer?.cancel()
        super.onDestroy()
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容