2014-02-06 40 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

相關問題