网上那么多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个月的日期的年、月、日。