Calendar
日历类:
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法
,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
构造方法(抽象类):
Calendar now = Calendar.getInstance();
日历类中有一个方法:获取字段的方法
public int get(int field)返回给定日历字段的值
YEAR:年
MONTH:月份
DATE:月份中的天
Calendar中常用的两个方法:
public abstract void add(int field, int amount)根据日历的规则,
为给定的日历字段添加或减去指定的时间量
public final void set(int year, int month,int date):设置新的日历时间
代码:
public static void main(String[] args) {
//创建日历对象
Calendar now = Calendar.getInstance();
//获取年
System.out.println(now.get(Calendar.YEAR)+"年");
//获取月
System.out.println((now.get(Calendar.YEAR)+1)+"月");
//获取日
System.out.println(now.get(Calendar.YEAR)+"日");
//获取时间
System.out.println(now.get(Calendar.HOUR)+"时");
System.out.println(now.get(Calendar.MINUTE)+"分");
//需求:三年前的今天
now.add(Calendar.YEAR,-3);
int year = now.get(Calendar.YEAR);
int month= now.get(Calendar.MONTH);
int date = now.get(Calendar.DATE);
System.out.println("三年前的今天是:"+year+"年"+(month+1)+"月"+date+"日");
//重置时间
now.set(2011, 7,6);
int year1 = now.get(Calendar.YEAR);
int month1= now.get(Calendar.MONTH);
int date1= now.get(Calendar.DATE);
System.out.println("重置:"+year1+"年"+(month1+1)+"月"+date1+"日");
}
需求:
键盘录入一个年份,获取任意一年的二月有多少天
分析;
1)键盘录入数据
2)创建一个日历对象.录入的数据就是年:2:月 1:就是日
3)实际的月份是3月1日,往前推一天就是2月份有多少天
4)输出即可
代码:
public static void main(String[] args) {
//键盘录入并接收数据
Scanner sc = new Scanner(System.in);
System.out.println(“请您输入一个年份”);
int y = sc.nextInt();
//创建日历对象
Calendar c= Calendar.getInstance();
//设置日历时间
c.set(y, 2, 1);//其实这里是3.1
//天数减一
c.add(Calendar.DATE, -1);
//输出
System.out.println(c.get(Calendar.DATE));
}