我們都知道獲取當前時間可以使用new Date()直接取得,如果要格式化可以使用
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(new Date());
以上方法是我們寫代碼的時候最常用的取時間方式,但是如果項目中錄入的日期偏偏要得到前一天或前一個月的時間,那麼如何實現呢?
那麼這個時候我們就需要使用Calendar這個日曆類,Calendar實例化的方法是
Calendar calendar = Calendar.getInstance();
通過日曆類得到當前時間是調用calendar.getTime();方法,返回的類型是java.util.Date
我們知道在數據庫中對日期的計算可以通過datadiff函數來實現,但是程序中卻沒有提供直接的方法。
一般來說如果是程序裏要對時間進行計算就需要講時間轉換成長整形,然後減去或加上相應的時間,最後再講long類型轉換爲日期類型來實現
參考代碼如下:
import java.util.Calendar;
import java.util.Date;
public class Datt {
/**
* @author maohb
* @param args
*/
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
long lo = date.getTime()-(long)86400000*365*10;
System.out.println("lo="+new Date(lo));
}
}
希望對大家有所幫助!呵呵