java - 制作一个倒计时器

标签 java android

我想在android中制作一个从当前时间开始的新年倒计时器...

Calendar thatDay = Calendar.getInstance();
thatDay.set(Calendar.DAY_OF_MONTH,1);
thatDay.set(Calendar.MONTH,0); // 0-11 so 1 less
thatDay.set(Calendar.YEAR, 2014);

Calendar today = Calendar.getInstance();
long diff =  thatDay.getTimeInMillis() - today.getTimeInMillis(); 

现在如何将这个差异转换为日、小时、分钟、秒格式?请帮忙

最佳答案

下面的代码

import java.util.Date;
import java.util.Calendar;

public class cal {
    public static int SECONDS_IN_A_DAY = 24 * 60 * 60;
    public static void main(String[] args) {
        Calendar thatDay = Calendar.getInstance();
        thatDay.setTime(new Date(0)); /* reset */
        thatDay.set(Calendar.DAY_OF_MONTH,1);
        thatDay.set(Calendar.MONTH,0); // 0-11 so 1 less
        thatDay.set(Calendar.YEAR, 2014);

        Calendar today = Calendar.getInstance();
        long diff =  thatDay.getTimeInMillis() - today.getTimeInMillis(); 
        long diffSec = diff / 1000;

        long days = diffSec / SECONDS_IN_A_DAY;
        long secondsDay = diffSec % SECONDS_IN_A_DAY;
        long seconds = secondsDay % 60;
        long minutes = (secondsDay / 60) % 60;
        long hours = (secondsDay / 3600); // % 24 not needed

        System.out.printf("%d days, %d hours, %d minutes and %d seconds\n", days, hours, minutes, seconds);
    }
}

产生

27 days, 17 hours, 18 minutes and 2 seconds
27 days, 17 hours, 18 minutes and 1 seconds
27 days, 17 hours, 18 minutes and 0 seconds
27 days, 17 hours, 17 minutes and 59 seconds
27 days, 17 hours, 17 minutes and 58 seconds
27 days, 17 hours, 17 minutes and 57 seconds
27 days, 17 hours, 17 minutes and 56 seconds
27 days, 17 hours, 17 minutes and 55 seconds
27 days, 17 hours, 17 minutes and 54 seconds
27 days, 17 hours, 17 minutes and 53 seconds

希望这是你想要的

关于java - 制作一个倒计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20391614/

相关文章:

java - 使用 CMS GC 时,Tomcat 6 连接池变得古怪

java - com.microsoft.sqlserver.jdbc.SQLServerException : MSI Token failure: Failed to acquire token from MSI Endpoint

java if then语句

java - 无法在一开始就通过 Activity 传递字符串

android - AlertDialog setmessage 在 Asynctask 中不起作用

java - 线程 “main” 中的异常 java.util.IllegalFormatConversionException : g ! = java.lang.String

java - 我在这里滥用日志级别的想法吗?

java - 安卓/Java : Enum methods crashing app

android - BiometricPrompt 面部解锁不起作用

安卓阴影设计