Java中calendar类常用方法介绍 (获取年月日星期)
-
概述
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
-
构造:父类引用指向子类对象
//实例化 //方式一:创建其子类(GregorianCalendar)的对象 //方式二:调用其静态方法getInstance() Calendar c = Calendar.getInstance();//父类引用指向子类对象,右边的方法返回一个子类对象
-
获取——get()
获取年份
System.out.println(x.get(Calendar.YEAR));
获取月份(月份是从0开始编号的)
System.out.println(x.get(Calendar.MARCH));
获取具体日期(月中的第几天)
System.out.println(x.get(Calendar.DAY_OF_MONTH));
获取星期(周日是第一天,周六是最后一天)
System.out.println(x.get(Calendar.DAY_OF_WEEK));
-
设置——set(){calendar是可变性的}
public void calenderTest(){ Calendar calendar = Calendar.getInstance(); System.out.println(calendar.getClass()); //class java.util.GregorianCalendar int day = calendar.get(Calendar.DAY_OF_WEEK); System.out.println(day); //6 calendar.set(Calendar.DAY_OF_WEEK,5); day = calendar.get(Calendar.DAY_OF_WEEK); System.out.println(day); //5 }
-
添加——add()
public void calenderTest() { Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_WEEK, 3); int day1 = calendar.get(Calendar.DAY_OF_WEEK); System.out.println(day1);//2 }
-
日历类——>Date getTime()
public void calender1Test() { Calendar calendar = Calendar.getInstance(); Date date = calendar.getTime(); System.out.println(date); }
-
Date——>日历类 setTime()
public void calender1Test() { Date date1 = new Date(); Calendar calendar= Calendar.getInstance(); calendar.setTime(date1); int day = calendar.get(Calendar.DAY_OF_WEEK); System.out.println(day); }
-
需求:按照国内日常习惯,生成当天具体日期
Calendar c = Calendar.getInstance(); System.out.println(c.get(Calendar.YEAR) + "年" + getNum(c.get(Calendar.MARCH) + 1) + "月" + getNum(c.get(Calendar.DAY_OF_MONTH)) + "日" + getWeek(c.get(Calendar.DAY_OF_WEEK)));
将星期存储到表中进行查表——getWeek
public static String getWeek(int week){ String[] arr = {" ","星期一","星期二","星期三","星期四","星期五","星期六","星期日"}; return arr[week]; }
个数数字前面补0——getNum
public static String getNum(int num) { /* * if(num > 9) { * return "" + "" + num; * } * else { * return "0" + num; * } */ return num > 9 ? "" + num : "0" + num; }