1.Calenda类
Calendar顾名思义即日历,它为解决和操作年、月、日等日历字段之间的问题提供了一些快速有效的方法。
2.成员方法
static Calendar getInstance() | 使用默认时区和区域设置获取日历。通过该方法生成Calendar对象。如下所示:Calendar cr=Calendar.getInstance(); |
public void set(int year,int month,int date,int hourofday,int minute,int second) | 设置日历的年、月、日、时、分、秒。 |
public int get(int field) | 返回给定日历字段的值。所谓字段就是年、月、日等等。 |
public void setTime(Date date) | 使用给定的Date设置此日历的时间。Date------Calendar |
public Date getTime() | 返回一个Date表示此日历的时间。Calendar-----Date |
abstract void add(int field,int amount) | 按照日历的规则,给指定字段添加或减少时间量。 |
public long getTimeInMillies() | 以毫秒为单位返回该日历的时间值。 |
3.日历字段
YEAR | 年 | MINUTE | 分 | DAY_OF_WEEK_IN_MONTH | 某月中第几周 |
MONTH | 月 | SECOND/MILLISECOND | 秒/毫秒 | WEEK_OF_MONTH | 日历式的第几周 |
DATE | 日 | DAY_OF_MONTH | 和DATE一样 | DAY_OF_YEAR | 一年的第多少天 |
HOUR_OF_DAY | 时 | DAY_OF_WEEK | 周几 | WEEK_OF_YEAR | 一年的第多少周 |
注意:MONTH是从0开始的,而月份是从1开始的,所以MONTH需要加一。Calendar是抽象类不能直接创建对象,需要用到Calendar.getInstance()方法来获取对象。
例题:查询任意一年的2月份有多少天?
import java.util.Calendar;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份");
int year = sc.nextInt();
Calendar c = Calendar.getInstance();
c.set(year,2,1);//设置日历的年、月、日,并且注意month是从0开始的
c.add(Calendar.DATE,-1);// 3月的前一天就是2月最后一天
System.out.println(year+"年的2月份有"+c.get(Calendar.DATE)+"天");
}
}