【Java】【常用类】Calendar 日历类
Calendar 日历类,我居然念错发音,来,好好看下音标 ['kælɪndə] 卡琳达
public class DateTest {
public static void main(String[] args) throws ParseException {
// Calendar 是一个抽象类 这个方法返回的是子类的实例
Calendar calender = Calendar.getInstance();
Class<? extends Calendar> calenderClass = calender.getClass();
System.out.println(calenderClass); // class java.util.GregorianCalendar
}
}
get
set
getTime
setTime
public class DateTest { public static void main(String[] args) throws ParseException { Calendar calender = Calendar.getInstance(); // 这个周的第几天 int dayOfWeek = calender.get(Calendar.DAY_OF_WEEK); System.out.println("这个周的第几天" + dayOfWeek); // 这个月的第几天 int dayOfMonth = calender.get(Calendar.DAY_OF_MONTH); System.out.println("这个月的第几天" + dayOfMonth); // 这个月的这个周的第几天 int dayOfWeekInMonth = calender.get(Calendar.DAY_OF_WEEK_IN_MONTH); System.out.println("这个月的这个周的第几天" + dayOfWeekInMonth); // 这个年的第几天 int dayOfYear = calender.get(Calendar.DAY_OF_YEAR); System.out.println("这个年的第几天" + dayOfYear); // set calender.set(Calendar.DAY_OF_WEEK_IN_MONTH,-1); System.out.println(calender.get(Calendar.DAY_OF_WEEK_IN_MONTH)); // add 方法,如果要减去天数,直接取负值即可 calender.add(Calendar.DAY_OF_WEEK_IN_MONTH,1); // 日历对象转换日期对象 getTime(); Date time = calender.getTime(); // 日期对象 转 日历类 setTime(new Date()); calender.setTime(new Date()); int day = calender.get(Calendar.DAY_OF_YEAR); System.out.println(day); } }
日历类也弃用了,主要问题
可变性,日期和时间的类实例不应该发生改变
偏移性,Date中的年份从1900年份,月份从0开始????
格式化只对Date有用,Calendar不行
线程还不安全,不能处理闰秒???