任何人都可以建议我找到系统时间和用户定义时间之间的间隔,因为我的小时= 20和分钟= 12.我只想找到这两次之间的间隔,并且需要为倒数计时器设置这个时间
答案 0 :(得分:2)
为了在任何两个日期/日历对象之间获得差异,最好以毫秒(长)为单位获得时间。
Calendar current = Calendar.getInstance();
Calendar usertime = Calendar.getInstance();
usertime.set(Calendar.HOUR_OF_DAY, 20);
usertime.set(Calendar.MINUTE, 12);
long diffInMilisecond = Math.abs(usertime.getTimeInMillis()-current.getTimeInMillis());
答案 1 :(得分:1)
答案 2 :(得分:0)
为什么要让用户输入他想要的时间而不是从当前时间开始多长时间?映射到倒数计时器的想法时更有意义。
如果您想为用户指定的时间设置计时器,我就是这样做的。
//Get user input into variable hours, and minutes
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
//do stuff when countdown has happened
}, (((hours * 60) + minutes) * 60) * 1000)); //time in milliseconds to exec run
}
修改强>
如果您只想计算用户输入小时和分钟的时间差,请尝试以下操作:
//Get user input into variable hours, and minutes
Calendar cal = new GregorianCalendar();
//Assuming user inputs hour in 24 hour format and inputted time is in future
totalMinsDiff = (hours - cal.get(Calendar.HOUR_OF_DAY)) * 60 +
minutes - cal.get(Calendar.MINUTE);
countdownHours = totalMinsDiff / 60;
countdownMins = totalMinsDiff % 60;