2013-02-15 42 views
1

在我的Android應用程序中。我每2小時運行一次任務。如何檢查時間超過2小時?Android - 在2小時後獲取時間

我試圖用這個,但它說depreceated

Date date = new Date(); 
date.setHours(date.getHours() + 2); 

我將不勝感激就如何落實這一洞察?

回答

4

檢查此鏈接

http://www.dotnetexpertsforum.com/comparing-date-time-values-in-android-t1567.html

Calendar current_time = Calendar.getInstance(); 
current_time.add(Calendar.YEAR, 0); 
current_time.add(Calendar.DAY_OF_YEAR, 0); 
current_time.set(Calendar.HOUR_OF_DAY, 
//Subtract 2 hours  
current_time.get(Calendar.HOUR_OF_DAY)-2); 
current_time.set(Calendar.MINUTE, 0); 
current_time.set(Calendar.SECOND, 0); 

Calendar given_time = Calendar.getInstance(); 
given_time.set(Calendar.YEAR, syear); 
//Give the day sDay and hour shour 
given_time.set(Calendar.DAY_OF_YEAR, sday); 
given_time.set(Calendar.HOUR_OF_DAY, shour); 
given_time.set(Calendar.MINUTE, 0); 
given_time.set(Calendar.SECOND, 0); 

Date current_calendar = current_time.getTime(); 
Date given_calendar = given_time.getTime(); 

System.out.println("Current Calendar "+ current_calendar); 
System.out.println("Given Calendar "+ given_calendar); 

boolean v = current_calendar.after(given_calendar); 

if(v){ 

    return true; 

} 
2

使用Calendar class

Calendar cal = Calendar.getInstance(); 
    System.out.println(cal.get(Calendar.HOUR)>(cal.get(Calendar.HOUR)+2)); 
0

兩個小時是2 * 60分鐘,在2 * 60 * 60秒,是2 * 60 * 60 * 1000毫秒。所以,你可以在此毫秒數只是添加到您的日期:

Date date = new Date(); 
Date after2Hours = new Date (date.getTime() + 2L * 60L * 60L * 1000L); 
+1

日期的使用()類已過時! – 2013-02-15 09:39:27

+0

@PradeepSimha你確定嗎?在我的JDK(Oracle JDK 1.7.0_13 x64)中,Class Date未被標記爲已棄用。 – 2013-02-15 09:43:32

+1

自〜10年後不推翻?帶有ADT的Eclipse會將其標記爲已棄用。 – staaar 2013-02-15 09:44:40

2

您應該使用Calendar類。

Calendar calendar=Calendar.getInstance(); 
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY)+2); 
calendar.getTime();//your date +2 hours