Java 在当前日期的基础上,计算加上指定天数后的日期。

前言

在编写程序的过程中,我们经常会用到时间日期。在java编程语言中,用来处理时间日期的类主要有两个 Date 和 Calendar。

Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些。
两个类获得当前日期:

Calendar c = Calendar.getInstance();//获得的是当前日期
Date date = new Date();//获得的是当前日期

输出结果:

java计算当年天数 java算日期天数_当前日期


正文

了解到java中处理时间日期的类后,开始解决如何计算某天的时间日期,这时候我们用功能强大的Calendar类。

目标:算出三天前的日期

public class Test1 {

	public static void main(String[] args) throws Exception {
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//用来格式化日期时间的类
		Date date = new Date();
		Calendar cal1 = Calendar.getInstance();
		cal1.setTime(date);
		cal1.add(Calendar.DATE, -3);//当前时间之后的向后算,当前时间之前的向前算
		System.out.println("今天的日期:" + format.format(date));
		System.out.println("三天前的日期:" + format.format(cal1.getTime()));
	}
}

输出截图

java计算当年天数 java算日期天数_java_02


详解

(1)void setTime(Date date)

用给定的日期设置Calendar的当前时间。

(2)void add(int field, int amount)

根据日历规则,将指定的(有符号的)时间量添加到给定的日历字段中。

(3)Calendar.DATE

根据当前日期,获取日期(具体的哪一日),返回的是int型常量

(4)Date getTime()

获取日历当前时间。

题外
JAVA 时间字符串转换成 java.util.Datejava 将日期时间存入mysql数据库