Calendar:它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,
并为操作日历字段(例如获得下星期的日期)提供了一些方法。
1、public int get(int field):返回给定日历字段的值。日历类中的每个日历字段都是静态的成员变量,并且是int类型。
2、public void add(int field,int amount):根据给定的日历字段和对应的时间,来对当前的日历进行操作。
3、public final void set(int year,int month,int date):设置当前日历的年月日
1 import java.util.Calendar; 2 3 public class CalendarDome1 { 4 5 public static void main(String[] args) { 6 // 其日历字段已由当前日期和时间初始化: 必须要 使用默认时区和语言环境获得一个日历。 7 Calendar time = Calendar.getInstance(); 8 9 /* 10 * abstract class Person { public static Person getPerson() { return new 11 * Student(); } } 12 * 13 * class Student extends Person { 14 * 15 * } 16 */ 17 18 // public int get(int field):返回给定日历字段的值。日历类中的每个日历字段都是静态的成员变量,并且是int类型。 19 int year = time.get(Calendar.YEAR); 20 int month = time.get(Calendar.MONTH) + 1;// 月份是从0开始计算 21 int day = time.get(Calendar.DATE); 22 int hour = time.get(Calendar.HOUR_OF_DAY); 23 int minute = time.get(Calendar.MINUTE); 24 int second = time.get(Calendar.SECOND); 25 System.out.println(year + "年" + month + "月" + day + "日" + hour + "时" 26 + minute + "分" + second + "秒"); 27 28 System.out.println("---------------------"); 29 30 // public void add(int field,int amount):根据给定的日历字段和对应的时间,来对当前的日历进行操作。 31 32 // 3年后的2天前 33 time.add(Calendar.YEAR, 3); 34 time.add(Calendar.DAY_OF_MONTH, -2); 35 36 // 输出 37 year = time.get(Calendar.YEAR); 38 month = time.get(Calendar.MONTH) + 1;// 月份是从0开始计算 39 day = time.get(Calendar.DATE); 40 hour = time.get(Calendar.HOUR_OF_DAY); 41 minute = time.get(Calendar.MINUTE); 42 second = time.get(Calendar.SECOND); 43 System.out.println(year + "年" + month + "月" + day + "日" + hour + "时" 44 + minute + "分" + second + "秒"); 45 System.out.println("---------------------"); 46 47 // public final void set(int year,int month,int date):设置当前日历的年月日 48 49 // 2020年11月1号 月份要加1 50 time.set(2020, 10, 1); 51 year = time.get(Calendar.YEAR); 52 month = time.get(Calendar.MONTH) + 1;// 月份是从0开始计算 53 day = time.get(Calendar.DATE); 54 hour = time.get(Calendar.HOUR_OF_DAY); 55 minute = time.get(Calendar.MINUTE); 56 second = time.get(Calendar.SECOND); 57 System.out.println(year + "年" + month + "月" + day + "日" + hour + "时" 58 + minute + "分" + second + "秒"); 59 } 60 61 }
需求:输入任意一个年份,得到这年的2月份有几天(可用来判断是否闰年)
分析:
A:键盘录入想要查询的年份
B:进行计算:
a:可以用设定指定日历的方法 time.set(year,2,1);
:设定year为查询的年份,而2,1则是查询这一年的3月1号
b:然后再用 time.add(Calendar.DAY_OF_MONTH, -1);
:获得的那年的3月1号减去1天,就是那年的2月份的最后一天
C:输出这一天,就是这年的2月份的天数
1 import java.util.Calendar; 2 import java.util.Scanner; 3 public class CalendarTest { 4 5 public static void main(String[] args) { 6 //创建键盘输入 7 Scanner sc = new Scanner(System.in); 8 System.out.println("请输入你想查询的年份:"); 9 int year = sc.nextInt(); 10 11 //使用默认时区和语言环境获得一个日历。 12 Calendar time = Calendar.getInstance(); 13 //获取那年的3月1号 14 time.set(year, 2,1); 15 //减去1天,获得2月最后一天 16 time.add(Calendar.DATE, -1); 17 18 //输出这一天 19 System.out.println(year+"年的2月份有"+time.get(Calendar.DATE)+"天"); 20 } 21 22 23 }
时间: 2024-10-16 04:05:58