Java 在当前日期的基础上,计算加上指定天数后的日期。
前言
在编写程序的过程中,我们经常会用到时间日期。在java编程语言中,用来处理时间日期的类主要有两个 Date 和 Calendar。
Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些。
两个类获得当前日期:
Calendar c = Calendar.getInstance();//获得的是当前日期
Date date = new Date();//获得的是当前日期
输出结果:
正文
了解到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()));
}
}
输出截图
详解
(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数据库