Android - 2小时后获取时间

时间:2013-02-15 09:36:39

标签: java android time

在我的Android应用中。我每隔2小时运行一次任务。我怎样检查时间是否超过2小时。

我尝试使用此功能,但它表示已经过时了

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

我很欣赏有关如何实现这一点的见解?

6 个答案:

答案 0 :(得分: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;

}

答案 1 :(得分:2)

使用Calendar class

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

答案 2 :(得分: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

答案 3 :(得分:0)

Date已弃用。请改用Calendar

来源:Java: Why is the Date constructor deprecated, and what do I use instead?

答案 4 :(得分:0)

两小时是2 * 60分钟,是2 * 60 * 60秒并且是2 * 60 * 60 * 1000毫秒。所以你可以在你的日期添加这个毫秒数:

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

答案 5 :(得分:0)

如果必须每两个小时重复一次该任务,则应使用警报管理器服务。有关详细信息,请参阅以下链接。

http://www.javacodegeeks.com/2012/09/android-alarmmanager-tutorial.html