zoukankan      html  css  js  c++  java
  • 【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不行

    线程还不安全,不能处理闰秒???

  • 相关阅读:
    第七十一课 图的定义与操作
    第七十课 二叉树经典面试题分析
    第六十九课 二叉树的线索化实现
    第六十八课 二叉树的比较与相加
    第六十七课 二叉树的典型遍历方式
    第六十六课 二叉树结构的层次遍历
    第六十五课 二叉树中属性操作的实现
    2018华为笔试题
    交错01串
    操作序列(网易)
  • 原文地址:https://www.cnblogs.com/mindzone/p/12733508.html
Copyright © 2011-2022 走看看