2014-02-06 41 views
0

我有两个Jdatechooser(命名为firstdate和lastdate)和JSpinner的(命名为开始时间和结束时间)的GUI。要检查JDateChooser在JSpinnerand设定的日期时间值相应

的方案是,

1.如果我打开GUI我将得到当前的时间和开始时间中设置它在结束时间和CURRENTTIME-1(代码是下面),

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,如果当前时间是零点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

你能不能只需使用'oneHourBack'' Date'值作为'lastdate'' JDateChooser'的值? – MadProgrammer

+0

'Calendar'已经将'Date'推回了一天...还有什么我失踪的东西? – MadProgrammer

回答

2

您应该能够使用oneHourBackDate值作为lastdateJDateChooser价值,因为不仅有时间被回滚,但如此具有日期值,例如...

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

相关问题