網上那麼多java的文章,爲什麼要看我的?
系統全面:網上文章東一篇西一篇,自己都看暈了吧。就跟着我這個路線學,學不會你找我。
碼字不易,請大家關注公衆號,轉發,點贊,只需動動手指,還送視頻,只爲成就你!
問題
在上一案例的基礎上,輸出當前日期基礎上一年後再減去3個月的日期的年、月、日。
方案
首先,使用Calendar類的getInstance方法獲取當前日期-時間;然後,使用Calendar類的add方法,加上一年;最後,使用add方法,加上-3月,即減去3個月並輸出計算後的年月日。
步驟
步驟一:構建測試方法
首先,在TestCalendar類中添加測試方法testAdd,然後,使用Calendar類的getInstance方法獲取當前日期-時間;最後,使用Calendar類的add方法,加上一年,代碼如下所示:
package day03;
import java.util.Calendar;
import java.util.GrogorianCalendar;
import org.junit.Test;
public class TestCalendar{
/**
*輸出一年後再減去3個月的日期
*/
@Test
public void testAdd(){
Calendar calendar=Calendar.getInstance();
calendar.add(Calendar.YEAR,1);//加一年
}
}
步驟二:使用add方法,實現減去3個月
再次,使用add方法,加上-3月,即減去3個月並輸出計算後的年月日,代碼如下所示:
package day03;
import java.util.Calendar;
import java.util.GrogorianCalendar;
import org.junit.Test;
public class TestCalendar{
/**
*輸出一年後再減去3個月的日期
*/
@Test
public void testAdd(){
Calendar calendar=Calendar.getInstance();
calendar.add(Calendar.YEAR,1);//加一年
calendar.add(Calendar.MONTH,-3);//減3個月
System.out.println("year:"+calendar.get(Calendar.YEAR));
System.out.println("month:"+(calendar.get(Calendar.MONTH)+1));
System.out.println("day:"+calendar.get(Calendar.DAY_OF_MONTH));
}
}
此處需要注意的是,Calendar.MONTH字段表示月份,月份的起始值不是1,而是0,所以需要在取到的月份值的基礎上加1才能與實際的月份對應。
步驟三:運行
運行testAdd方法,控制檯輸出結果如下所示:(注:我的運行時間爲2014年2月24日)
year:2014
month:11
day:24
從輸出結果可以看出,實現了輸出當前日期基礎上一年後再減去3個月的日期的年、月、日。