我在gui中有两个 Jdatechooser (名为firstdate和lastdate)和 Jspinner (命名为starttime和endtime)。
情景是,
1.如果我打开gui,我将获得当前时间并在starttime和currenttime-1中设置它在starttime(代码如下),
Calendar cal = Calendar.getInstance();
cal.add(Calendar.HOUR, -1);
Date oneHourBack = cal.getTime();
String timeStamp = new SimpleDateFormat("HH:mm:ss").format(oneHourBack);
Date date = new SimpleDateFormat("HH:mm:ss").parse(timeStamp);
starttime.setValue(date);
2.对于Jdatechooser我设置当前日期。
3.如果当前时间是00:44:36(HH:mm:ss),在开始时间( Jspinner )我必须设置23:44:36,我必须这样做 将firstdate( Jdatechooser )值设置为前一天而不是当前日期。
为此我尝试以下方式,
Calendar currentTime = Calendar.getInstance();
Date curHr = currentTime.getTime();
String curtime = new SimpleDateFormat("HH").format(curHr);
int timeCheck = Integer.parseInt(curtime);
if(timeCheck > 00 && timeCheck < 01){
//code to set previous day's
date
}
是这样做的吗?还是有更好的方法吗?请帮忙
答案 0 :(得分:2)
您应该可以使用oneHourBack
Date
值作为lastdate
JDateChooser
的值,因为不仅时间已经回滚,而且还有日期值,例如......
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 44);
cal.set(Calendar.SECOND, 36);
Date startTime = cal.getTime();
cal.add(Calendar.HOUR, -1);
Date endTime = cal.getTime();
System.out.println("startTime = " + startTime);
System.out.println("endTime = " + endTime);
...输出
startTime = Thu Feb 06 00:44:36 EST 2014
endTime = Wed Feb 05 23:44:36 EST 2014
这是Calendar