我想花费几个小时,我使用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
设置为“关闭”。即使当前时间在打开和关闭时间之间。任何人都可以用正确的方向指出我为什么会发生这种情况?
你可能有上午/下午的困境?用调试器跟踪应该会揭示问题的根源。 –
或者简单地输出那些时间并看着它们。 –
你如何计算timeOpen和timeClose? – Peshal