确定时间是否在两次之间

时间:2013-07-28 21:37:35

标签: android datetime simpledateformat

我正在尝试花费数小时,我使用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解析字符串,找到timeClosesdf2,其方式与找到timeRightNow完全相同。

每次运行时,都会将openStatus设置为“已关闭”。即使当前时间在开放时间和关闭时间之间。任何人都可以指出我正确的方向来弄清楚为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

我将Calendar.HOUR更改为Calendar.HOUR_OF_DAY。这解决了这个问题。