計算任一時間的下一天

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秒的毫秒數。因此,我們可以利用這個原理來計算下一天時只要在當前時間的毫秒數上
再加上一天的毫秒數就可以得到下一天。這樣就巧妙的避免了月底、年底、閏月等條件的計算。

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