程序如下:
public static void main(String[] args){
long base=new GregorianCalendar(0,0,0,0,0,0).getTime().getTime();
DateFormat df=new SimpleDateFormat("HH:mm:ss");
for(int t=0;t<60*60*12*2;t++){
int locHourHand=Math.round((t%(60*60*12))/(60*12));
int locMinuteHand=Math.round((t%(60*60))/60);
int locSecondHand=t%60;
if(locHourHand==locMinuteHand&&locHourHand==locSecondHand){
Date date=new Date(base+t*1000);
System.out.println(df.format(date));
}
}
}
希望大家能逐行解释一下这段代码,小弟不是很明白,先谢谢大家!
Date date=new Date(base+t*1000); //加上之前的基础时间值,再加上当天的时间
您好,我想问一下,这里为什么要加上基础时间值?
因为你要打印的是一天内的时间值,而t是从当天0点0分0秒开始计算的增量秒数,因此必须加上一个处于0点时刻的时间值来得到Date对象。如果加上的时刻不是0点时刻,那么加上增量之后很可能跨到第二天~~~
本回答被提问者采纳