日期操作类(Calendar类)

Date类和SimpleDate类两个往往是一起使用的,但是Calendar这个类主要是进行一些简单的日期计算的。

Calendar类定义:

public abstract class Calendar
extends Object
implements Serializable, Cloneable, Comparable

这是一个抽象类,那么应该依靠我们的子类,进行对象实例化操作。

查看文档我们知道,构造方法被私有化了,(单例模式应用),并且一些静态常量可以获取年月日的组成。但是这个类提供一个方法,返回的是本类对象:public static Calendar getInstance()。这样就能回避掉子类,直接取得实例化对象了。

范例:取得当前的日期时间

public class TestDemo{
    
    public static void main(String[] args) throws Exception{
        Calendar calendar=Calendar.getInstance();
        StringBuffer stringBuffer=new StringBuffer();
        stringBuffer.append(calendar.get(Calendar.YEAR)).append("-");
        stringBuffer.append(calendar.get(Calendar.MONTH)+1).append("-");//日期Calendar从0开始数月
        stringBuffer.append(calendar.get(Calendar.DAY_OF_MONTH)).append(" ");
        stringBuffer.append(calendar.get(Calendar.HOUR_OF_DAY)).append(":");
        stringBuffer.append(calendar.get(Calendar.MINUTE)).append(":");
        stringBuffer.append(calendar.get(Calendar.SECOND));
        System.out.println(stringBuffer);
    }   
}

结果:


image.png

但是这个类可以在我们取得的时候进行一些简单的计算,例如:若干天之后的日期。

如果是日期计算,要比Date省事,如果使用Date进行天的计算,那么就需要使用long完成了。

总结

1.以后数据库中的日期型就是用java.util.Date表示
2.代码模型:SimpleDateFormat类实现String与Date间的互相转换。

你可能感兴趣的:(日期操作类(Calendar类))