来源:java.util.Calendar 此类为抽象类。
他解决了Date不能国际化的问题。
如何解决的呢?
来看:
部分源码
得到一个Calendar实例:
然后点击去看看:
继续往里走:
该类是以一个数组来存储日期的:
通过下边来访问数组,自然设置了一些常量:
所以,这就告诉我们之后既可以通过名称,也可以通过下标来访问,之不过,名称更能见名知意。
初始化
好了,开始看看怎么使用:
该类是抽象类,对外部想要创建实例,调用
Calendar.getInstance();
即:
//创建一个Caldendar的实例
Calendar c = Calendar.getInstance();
常用方法
返回值 | 方法名 | 描述 |
---|---|---|
int | get(int field) | 返回指定字段的值 |
void | set(int field, int value) | 设置指定字段的值(可以用常量名也可以用下标) |
abstract void | add(int field, int amount) | 根据日历规则,进行加减操作,减法参数传负值 |
int | getActualMaximum(int field) | 返回指定字段的最大值 |
int | getActualMinimum(int field) | 返回指定字段的最小值,比如某年中最多有多少周等。 |
以下是我自己测试用的:
特别注意一点,月份,从0开始!
package com.hllg.chap4.section2;
import java.util.Calendar;
/**
* @author HLLG
* @version 1.0
* @create 30/01/2021 15:56
*/
public class CalendarTest {
public static void main(String[] args) {
//因为该类用数据存取,所以里面的常量可以换成对应的下标地址,不过不推荐,倡导见名知意
//获取实例
Calendar c = Calendar.getInstance();
//get 获取指定内容
int year = c.get(Calendar.YEAR);
System.out.println(year);
System.out.println(c.get(Calendar.DAY_OF_MONTH));
//set方法,设置某一个时间
c.set(Calendar.YEAR, 2020);
System.out.println(c.get(Calendar.YEAR));
//注意:月份是从0开始,所以实际月份需要加1
c.add(Calendar.MONTH,-1);
//如果需要减,参数放负数
System.out.println(c.get(Calendar.MONTH));
//获取指定条件的最大值,最小值
System.out.println(c.getActualMaximum(Calendar.DAY_OF_MONTH));
System.out.println(c.getActualMinimum(Calendar.DAY_OF_MONTH));
}
}
好,就这些,下次见。
sue
2021年1月30日19:44:15