我正在尝试使用 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
为“关闭”。即使当前时间介于开盘时间和收盘时间之间。谁能指出我正确的方向来弄清楚为什么会这样?