我在 gui 中有两个 Jdatechooser(命名为firstdate和lastdate)和Jspinner(命名为starttime和endtime)。
场景是,
1.如果我打开gui,我将获取当前时间并将其设置为endtime和starttime中的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.如果当前时间是 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
}
这是这样做的方法吗?或者有什么更好的方法可用?请帮忙
最佳答案
您应该能够使用 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
这就是日历
的好处
关于java - 要检查 JSpinner 中的时间值并相应地在 JDateChooser 中设置日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21595530/