1
是否有一种使用Calendar类减去不同时间单位的便利方法? 我正在制作一个计时器,它可以在几小时,几分钟和几秒内倒计时多个小时并将时间打印到控制台。我不想在这个程序中使用任何库,如乔达时间。我也想使用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);
}
}
}
这是我对堆栈溢出的第一个问题,让我怎么办?
谢谢!这应该工作。我可以澄清我想要的东西。我想要的是一种方法,如果我减去一秒钟以使它小于一秒钟,它将被设置为59并减去一分钟,所以它将像真正的时钟一样工作。我想要的是一种这样做的方法。 – 2014-11-24 14:33:01
@captain尝试上面的代码(它已经)。好吧,一分钟是六十秒,但它确实像钟表一样工作。 – 2014-11-24 14:44:20