简体   繁体   English

以HH显示倒数计时器:MM:SS(小时:分钟:秒)

[英]Show Countdown timer in HH:MM:SS (Hours : Minutes : Seconds)

I want to display count down timer in HH:MM:SS format.. I tried many things but none worked 我想以HH:MM:SS格式显示count down timer 。我尝试过很多东西,但都没有用

@Override
    public void onTick(long millisUntilFinish) {

        long millis = millisUntilFinish;

        String ms = String.format("%02d:%02d:%02d", millis / 3600,
                (millis % 3600) / 60, (millis % 60));

        tapHere.setText(ms);
    }

In case anybody land here with similar issue, here is the solution : 如果有人在这里遇到类似的问题,这里是解决方案:

timer.setText(formatMilliSecondsToTime(passedTime));

private String formatMilliSecondsToTime(long milliseconds) {

    int seconds = (int) (milliseconds / 1000) % 60;
    int minutes = (int) ((milliseconds / (1000 * 60)) % 60);
    int hours = (int) ((milliseconds / (1000 * 60 * 60)) % 24);
    return twoDigitString(hours) + " : " + twoDigitString(minutes) + " : "
            + twoDigitString(seconds);
}

private String twoDigitString(long number) {

    if (number == 0) {
        return "00";
    }

    if (number / 10 == 0) {
        return "0" + number;
    }

    return String.valueOf(number);
}

there is my solution: 有我的解决方案:

   duration=81200000; //6 hours
   new CountDownTimer(duration, 1000) {

        public void onTick(long millisUntilFinished) {
            long secondsInMilli = 1000;
            long minutesInMilli = secondsInMilli * 60;
            long hoursInMilli = minutesInMilli * 60;

            long elapsedHours = millisUntilFinished / hoursInMilli;
            millisUntilFinished = millisUntilFinished % hoursInMilli;

            long elapsedMinutes = millisUntilFinished / minutesInMilli;
            millisUntilFinished = millisUntilFinished % minutesInMilli;

            long elapsedSeconds = millisUntilFinished / secondsInMilli;

            String yy = String.format("%02d:%02d", elapsedHours, elapsedMinutes);
            textView.setText(yy);
        }

        public void onFinish() {

            textView.setText("00:00");
        }
    }.start();

You can get current date and time through this line of code 您可以通过这line of code获取current date and time

//Get Current Date & Time
    SimpleDateFormat sdf = new SimpleDateFormat("M/d/yyyy HH:MM:SS");
    public String currentDateandTime = sdf.format(new Date());

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM