2013-11-28 52 views
-2

我有定時器女巫定期觸發每30分鐘 - 如何檢查每個觸發器是當前時間午夜(是新的一天)?檢查是新的一天/午夜java android

我想是這樣的

SimpleDateFormat parser = new SimpleDateFormat("HH:mm:ss"); 
Date date = new Date(); 
Date currTime = parser.parse(parser.format(date)); 

,但我不知道如何檢查它是否是午夜,因爲我不知道它使用24:00:00或者00:00:00午夜的時鐘,這樣我就可以使用它,然後檢查,如果目前的時間是午夜,讓說午夜一分鐘是這樣的:

if(currTime.after(midnight) && currTime.before(midnight and one minute)){...} 

回答

3

您可能也想嘗試:

Calendar c = Calendar.getInstance(); 
int hours = c.get(Calendar.HOUR_OF_DAY); 
int minutes = c.get(Calendar.MINUTE); 
int seconds = c.get(Calendar.SECOND); 

if(hours*3600 + minutes*60 + seconds < 1800){ 
    // Day changed since last task 
} 
+0

你能幫我一下嗎?你的代碼應該如何工作?我不確定我是否瞭解它 –

+1

由於您的觸發器每30分鐘循環一次,此代碼將檢查時間是在午夜到午夜半之間。因此,將這段代碼放入觸發器中,並在if內寫入要執行的代碼,如果自上次循環運行以來發生了一些變化。 – gahfy

+0

我剛測試過它按預期工作。謝謝 –