【发布时间】:2015-01-20 22:11:35
【问题描述】:
有没有一种方便的方法可以使用 Calendar 类减去不同的时间单位? 我正在制作一个倒计时多个小时的计时器,并以小时、分钟和秒为单位将时间打印到控制台。我不想在这个程序中使用任何库,例如 Joda Time。我也想用 Calendar 类,而不是 Date 类,除非太难了。
这是我当前的代码,它只以秒为单位打印剩余时间:
import java.awt.*;
import java.util.*;
public class ClickWhen {
public static void main(String[] args) throws AWTException {
int minGoal = 30;
int hourGoal = 6+12;
Calendar time = Calendar.getInstance();
int minute = time.get(Calendar.MINUTE);
int hour = time.get(Calendar.HOUR_OF_DAY);
int second = time.get(Calendar.SECOND);
int sRemaining = (minGoal*60+hourGoal*3600)-(second+minute*60+hour*3600);
boolean isGoing = true;
Robot r = new Robot();
while(isGoing) {
r.delay(1000);
time = Calendar.getInstance();
minute = time.get(Calendar.MINUTE);
hour = time.get(Calendar.HOUR_OF_DAY);
second = time.get(Calendar.SECOND);
if(hour >= hourGoal && minute >= minGoal) {
// do something
isGoing = false;
}
if(hour >= 12) {
System.out.println(hour-12+":"+minute+":"+second+" P.M.");
}
if(hour < 12) {
System.out.println(hour+":"+minute+":"+second+" A.M.");
}
sRemaining--;
System.out.println("Seconds Remaining: "+sRemaining);
}
}
}
这是我关于 Stack Overflow 的第一个问题,我是怎么做的?
【问题讨论】:
标签: java time timer calendar subtraction