0

GUIに 2 つのJdatechooser (firstdate および lastdate という名前) とJspinner (starttime および endtime という名前) があります。

シナリオは、

1. gui を開くと、現在の時刻が取得され、endtime に設定され、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)の場合、starttime( 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                                       
}

これはそれを行う方法ですか?または利用可能なより良い方法はありますか?助けてください

4

1 に答える 1

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

于 2014-02-06T06:31:16.760 に答える