我正在尝试花费数小时,我使用SimpleDateFormat解析并确定当前时间是否在两组小时之间。基本上,考虑到一个地方的时间,我正在试图确定它是否正在关闭。
我通过以下方式获取当前时间:
SimpleDateFormat sdf2 = new SimpleDateFormat("kk:mm");
Calendar now = Calendar.getInstance();
int hour = now.get(Calendar.HOUR);
int minute = now.get(Calendar.MINUTE);
String currentHour = Integer.toString(hour);
String currentMinute = Integer.toString(minute);
String timeNow = currentHour + ":" + currentMinute;
Date timeRightNow = sdf2.parse(timeNow);
然后,我确定timeRightNow
是否在开始和结束时间之间,我正在做以下事情:
if (timeOpen.before(timeRightNow) && timeClose.after(timeRightNow)) {
openStatus = "open!";
} else {
openStatus = "closed.";
}
通过使用timeOpen
解析字符串,找到timeClose
和sdf2
,其方式与找到timeRightNow
完全相同。
每次运行时,都会将openStatus
设置为“已关闭”。即使当前时间在开放时间和关闭时间之间。任何人都可以指出我正确的方向来弄清楚为什么会这样吗?
答案 0 :(得分:1)
我将Calendar.HOUR
更改为Calendar.HOUR_OF_DAY
。这解决了这个问题。