1.Calendar日历类
java.util.Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。
Calendar是抽象类,不能创建对象,需要使用子类对象。java.util.GregorianCalendar类是Calendar的子类,但是创建日历对象需要根据本地的时区,语言环境来创建,比较困难,Calendar类提供了静态方法 getInstance()直接获取子类的对象。
public static Calendar getInstance():使用默认时区和语言环境获得一个日历。
Calendar cal = Calendar.getInstance();
```java
public class CalendarTest {
public static void main(String[] args) {
//public static Calendar getInstance():使用默认时区和语言环境获得一个日历。
Calendar c = Calendar.getInstance();
//public int get(int field):返回给定日历字段的值。
System.out.println(c.get(Calendar.YEAR));//2020
//MONT月(从0开始,可以+1使用),DAY_OF_MONTH月中的天(几号),HOUR时(12小时制),HOUR_OF_DAY时(24小时制),MINUTE,SECOND,
//public void set(int field, int value):将给定的日历字段设置为给定值。
c.set(Calendar.YEAR,2048);
System.out.println(c.get(Calendar.YEAR));//2048
//public abstract void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
c.add(Calendar.YEAR,-20);
System.out.println(c.get(Calendar.YEAR));//2028
//public Date getTime():返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象t
System.out.println(c.getTime());//Wed Oct 25 20:39:18 CST 2028
}
}
## 练习:通过键盘录入年份,返回当年二月份的天数。
```java
import java.util.Calendar;
import java.util.Scanner;
public class Getmonth {
public static void main(String[] args) {
//获取任意一年的二月有多少天
//可以将日历设置到任意年的三月一日
//向前偏移一天
//获取偏移后的日历即可
System.out.println("请输入年份");2
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
Calendar c = Calendar.getInstance();
c.set(year,2,1);
c.add(Calendar.DATE,-1);
int day = c.get(Calendar.DATE);
System.out.println(year+"年的2月份有"+day+"天");
}
}
本文介绍了 Java 中 Calendar 类的使用方法,包括如何获取当前日期、设置日期、增加或减少日期等操作,并提供了一个实用示例来展示如何计算特定年份二月的天数。
3903

被折叠的 条评论
为什么被折叠?



