我想在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/