日期:2014-05-20  浏览次数:20992 次

java 怎样得到30分钟后的时间


if(当前时间+30分钟后 < 21:00){
  当前时间+30分钟后 调用a()方法;
}

请问这段代码怎么写啊,没分了。只能在这里发 了、

------解决方案--------------------
用Calendar.add(Calendar.MINUTE,30)这个方法
------解决方案--------------------
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MINUTE, 30);
------解决方案--------------------
毫秒换算。
Date date = new Date();
long time = date.getTime();
lastTime = time % (24 * 3600 * 1000);
if (lastTime < 21 * 3600 * 1000) {

}
原理:换算成毫秒数,对一天的毫秒数取余,就是当天的毫秒数,然后于21点的毫秒数比较。
------解决方案--------------------
SimpleDateFormat FORMAT2 = new SimpleDateFormat("HH:mm:ss");
------解决方案--------------------
Calendar cal = new GregorianCalendar();
cal.set(Calendar.SECOND, 0);
/*
这里设时间,设置成同一天的21点0分0秒0毫秒
*/
if(can.before(cal)){
/*小于21点*/
}