我想要一些Java代碼,它會根據當前時間告訴我學校何時開放。在java中檢查時間間隔
當我在上午9點和下午6點之間調用此方法時,應該返回「學校開放」,否則應在下午6點之後和上午9點之前返回「學校關閉」。
public Calendar shopStartTime(String msg)
{
Calendar currentTime = Calendar.getInstance();
Calendar schoolTime = Calendar.getInstance();
Calendar schoolClosedTime = Calendar.getInstance();
schoolTime.set(Calendar.HOUR_OF_DAY, 9);
schoolTime.set(Calendar.MINUTE, 0);
schoolTime.set(Calendar.SECOND, 0);
schoolTime.set(Calendar.MILLISECOND, 0);
schoolClosedTime.set(Calendar.HOUR_OF_DAY, 18);
schoolClosedTime.set(Calendar.MINUTE, 0);
schoolClosedTime.set(Calendar.SECOND, 0);
schoolClosedTime.set(Calendar.MILLISECOND, 0);
if (schoolTime.compareTo(currentTime) <= 0 &&
(currentTime.compareTo(schoolClosedTime)>=0))
{
// check for time
Toast.makeText(getSherlockActivity(), "school is closed ",
Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(getSherlockActivity(), " school is open",
Toast.LENGTH_SHORT).show();
}
return currentTime;
}
但代碼不工作,因爲它總是返回相同的結果。我如何測試一次是否在兩個其他時間之間?
不應該是:「... && currentTime.compareTo(schoolClosedTime)<= 0)」? (小於,不大於) – Whistletoe
我試過兩種方法,結果相同。 –