【发布时间】:2014-02-06 06:22:02
【问题描述】:
我在一个 gui 中有两个 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
}
这是这样做的方法吗?还是有更好的方法可用?请帮忙
【问题讨论】:
-
您不能简单地使用
oneHourBackDate值作为lastdateJDateChooser的值吗? -
Calendar已经将Date回滚了一天...我还缺少什么吗?
标签: java date jspinner jdatechooser