import java.sql.Date;
/**
* 计算任一时间的下一天
* @author Joson.Liu
* 2014.08.27
*/
public class NextDay {
public static void main(String args[]){
Date now=new Date(System.currentTimeMillis());//获取当前时间
System.out.println(getNextDay(now));
}
/**
* 计算指定时间的下一天
* @param date 指定时间
* @return 指定时间的下一天
*/
private static Date getNextDay(Date date){
long addTime=1; //计算相关的时间间隔
addTime*=1;
addTime*=24*3600*1000;
Date nextDate=new Date(date.getTime()+addTime); //把时间间隔转换为毫秒数
return nextDate;
}
}
亮点:巧妙的利用了JAVA存储时间的原理。
java.util.Date没有时区的概念,java.util.Calendar类才有时区的概念。
java.util.Date类的底层实现是通过一个long型的整型数据来保存时间的,这个值记录的是任何一个时间距
1970年1月1日0时0分0秒的毫秒数。因此,我们可以利用这个原理来计算下一天时只要在当前时间的毫秒数上
再加上一天的毫秒数就可以得到下一天。这样就巧妙的避免了月底、年底、闰月等条件的计算。