2013-07-28 148 views
1

我想花費幾個小時,我使用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."; 
} 

兩個timeOpentimeClose是通過使用sdf2解析字符串來找到的,方法與找到timeRightNow完全相同。

每次運行時,它都會將openStatus設置爲「關閉」。即使當前時間在打開和關閉時間之間。任何人都可以用正確的方向指出我爲什麼會發生這種情況?

+1

你可能有上午/下午的困境?用調試器跟蹤應該會揭示問題的根源。 –

+0

或者簡單地輸出那些時間並看着它們。 –

+0

你如何計算timeOpen和timeClose? – Peshal

回答

1

我將Calendar.HOUR更改爲Calendar.HOUR_OF_DAY。這解決了這個問題。

+0

男人!你救了我的命! :) –

相關問題