安卓倒计时时间

标签 android timer countdowntimer

我一直在使用 android 倒计时计时器示例来创建到特定日期的倒计时。

Time TimerSet = new Time();
        TimerSet.set(20, 8, 2012); //day month year
        TimerSet.normalize(true);
        long millis = TimerSet.toMillis(true);

        Time TimeNow = new Time();
        TimeNow.setToNow(); // set the date to Current Time
        TimeNow.normalize(true);
        long millis2 = TimeNow.toMillis(true);

        long millisset = millis - millis2; //subtract current from future to set the time remaining

        final int smillis = (int) (millis); //convert long to integer to display conversion results
        final int smillis2 = (int) (millis2);

        new CountDownTimer(millisset, 1000) {
            public void onTick(long millisUntilFinished) {

                // decompose difference into days, hours, minutes and seconds 
                int weeks = (int) ((millisUntilFinished / 1000) /
                        604800);
                int days = (int) ((millisUntilFinished / 1000) / 86400);
                int hours = (int) (((millisUntilFinished / 1000) - (days
                        * 86400)) / 3600);
                int minutes = (int) (((millisUntilFinished / 1000) - ((days
                        * 86400) + (hours * 3600))) / 60);
                int seconds = (int) ((millisUntilFinished / 1000) % 60);
                int millicn = (int) (millisUntilFinished / 1000);



                w.setText(" " +weeks);
                d.setText(" " +days);
                h.setText(" " +hours);
                m.setText(" " +minutes);
                s.setText(" " +seconds);
                mTextField.setText(smillis + " " + smillis2 + " " +
                        millicn + "Time remaining: " +weeks +"weeks " +days + " days " + hours
                        + " hours: " + minutes+ " minutes: "
                        + seconds + " seconds: " );

            }

            public void onFinish() {
                mTextField.setText("done!");
            }
        }.start();

我想知道如何设置时间和日期?目前正在倒数到午夜。我希望是 15:00

提前致谢

最佳答案

这是你的问题:

timerSet.set(20, 8, 2012); //day month year

这会设置 future 的日期,但不会设置 future 的一天中的时间(相反,它将 bool 值 allDay 设置为 true),因此它默认为 00:00。

来自android API :

set(int second, int minute, int hour, int monthDay, int month, int year)

那么试试

timerSet.set(0,0,15,20,8,2012)

2012 年 8 月 20 日 15:00。

关于安卓倒计时时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12475873/

相关文章:

java - 使用定时器实现长按

c# - Timer 或 Task 适合空闲时间长的任务吗

java - 将单击的按钮名称传递给 Android 中的不同类

multithreading - 在计时器上运行任务

swift - 我正在尝试用时间间隔在 Swift 中制作一个计时器

android - 为什么我的倒数计时器有时没有运行到结束?[android]

android - 错误 :Execution failed for task ':app:processDebugManifest' .

android - future 通知的时间戳不正确

java - 如何更改 Theme.AppCompat.Light.DarkActionBar 主题中菜单项的文本颜色?

android - 如何在 android 中对图像应用效果,如扭曲、聚光灯、曝光等等