關(guān)于日期操作
涉及其他操作的話,以后逐步完善
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
//獲取當(dāng)前時間
System.out.println("獲取當(dāng)前日期date:" + date);
//獲取當(dāng)前年月日時分秒
int yearNum = calendar.get(Calendar.YEAR);
//獲取月份從0開始計算,不是從1開始
int monthNum = calendar.get(Calendar.MONTH);
int dateNum = calendar.get(Calendar.DATE);
int hourNum = calendar.get(Calendar.HOUR);
int minuteNum = calendar.get(Calendar.MINUTE);
int secondNum = calendar.get(Calendar.SECOND);
System.out.println(yearNum + "||" + monthNum + "||" + dateNum);
System.out.println(hourNum + "||" + minuteNum + "||" + secondNum);
//月份是從0開始計算的,如果是一月的話獲得的值是0,12月值是11
calendar.add(Calendar.MONTH, 1);
//按照指定的日期格式化
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:ss:mm");
System.out.println(format.format(calendar.getTime()));
//手動設(shè)置calendar的時間
calendar.set(2000, 0, 12, 00, 01, 12);
System.out.println(calendar.getTime());
System.out.println("--------------------------------------------------------------");
/**
* add進(jìn)行計算,年份也會跟著變化
* roll進(jìn)行計算,年份不會跟著變化,月份只會按周期循環(huán)變化
*/
Calendar cal1 = Calendar.getInstance();
cal1.set(2003, 7, 23, 0, 0, 0); // 2003-8-23
cal1.add(Calendar.MONTH, 6); //2003-8-23 => 2004-2-23
System.out.println(cal1.getTime());
Calendar cal2 = Calendar.getInstance();
cal2.set(2003, 7, 31, 0, 0, 0); // 2003-8-31
// 因為進(jìn)位到后月份改為2月,2月沒有31日,自動變成29日
cal2.add(Calendar.MONTH, 6); // 2003-8-31 => 2004-2-29
System.out.println(cal2.getTime());
Calendar cal3 = Calendar.getInstance();
cal3.set(2003, 7, 23, 0, 0, 0); //2003-8-23
// MONTH字段“進(jìn)位”,但YEAR字段并不增加
cal3.roll(Calendar.MONTH, 6); //2003-8-23 => 2003-2-23
System.out.println(cal3.getTime());
Calendar cal4 = Calendar.getInstance();
cal4.set(2003, 7, 31, 0, 0, 0); //2003-8-31
// MONTH字段“進(jìn)位”后變成2,2月沒有31日,
// YEAR字段不會改變,2003年2月只有28天
cal4.roll(Calendar.MONTH, 6); //2003-8-31 => 2003-2-28
System.out.println(cal4.getTime());
System.out.println("----------------延后計算時間----------------------------------------------");
Calendar cal5 = Calendar.getInstance();
//如果set的2月份沒有31天,則自動往后推算一個月,按照三月份計算,所以打印出來是三月份
cal5.set(2020, 1, 31);
System.out.println("1.cal5:" + cal5.getTime());
}