首先得到Calendar日历对象的获取并不用是new Calendar( );的方式获得。
它使用的工厂的方式来获得对象,通过Calendar.getInstance();这个方法获得Calendar日历对象。
那么是不是每次调用Calendar.getInstance();这个方法就会给你一个新的对象呢?
上图可以看出这两个对象的内存地址是不一样的,也就是说每调用一次Calendar.getInstance();这个方法都会给你一个新的Calendar对象。
-----------------------------------------
首先Calendar也有获取long类型时间方法
-----------------------------------------
Calendar也有获取Date类型时间方法
-----------------------------------------
通过setTime( )方法,可以将一个Date类型的时间设置给它
-----------------------------------------
也通过setTimeInMillis()方法,可以将一个long类型的时间设置给它
-----------------------------------------
或者通过set( )方法,可以将年月日时分秒一一设置给它
注意:设置month月的时间需要减个1哦,因为他其实是当前月距离第一个月的数值,如果当前月就是第一个月时那么这个数值就是0,所以它是从0开始的哦。所以我们需要在我们设置的月份减个1再给它。
-----------------------------------------
既然有set方法,那么自然有get方法。
通过get方法可以获得年月日时分秒,还能得到当前年有多少天,当前月有多少天等等,很强大。这里参数选择是枚举的。
注意:得到month月份的时间需要加个1,上面已经说过因为他其实是当前月距离第一个月的数值,所以它给出来的数值我们加个1就是我们想要的月份。
-----------------------------------------
这个add( );日期的运算方法也是很常用的哦,需要传入两个参数给它,第一个参数你要设置的单位(是年或者月还是分,这个还是枚举选择的方式),第二个参数就是你要加上的数值(如果要减去,那给它加上个负数就是减去了)。
-----------------------------------------
Calendar的其他方法还有蛮多的,自己去试一试就清楚了,Calendar也有比较方法和Date的比较方法的用法一样,可以参考一下https://blog.csdn.net/qq_40550973/article/details/80579200