计算任一时间的下一天

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秒的毫秒数。因此,我们可以利用这个原理来计算下一天时只要在当前时间的毫秒数上
再加上一天的毫秒数就可以得到下一天。这样就巧妙的避免了月底、年底、闰月等条件的计算。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章