zoukankan      html  css  js  c++  java
  • Calendar类常用方法

    Calendar类

    日历类 java.util.Calender,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。

    获取方式

    Calendar为抽象类,无法直接创建对象使用,里面有一个静态方法叫getInstance(),该方法返回了Calendar类的子类对象。

    static Calendar getInstance() 使用默认时区和语言环境获取一个日历

    // 导包
    java.util.Calendar
    
    public class Calendar{
    public void main(String[] aegs){
    	// 多态
    	Calendar c = Calendar.getInstance();
    	Syste.out.println(c);
    	
    }
    }
    
    

    常用方法

    get方法用来获取指定字段的值,set方法用来设置指定字段的值

    Calendar类的常用成员方法

    get方法

    格式:

    ​ public int get(int field):返回给定日历字段的值
    ​ 参数:传递指定的日历字段(YEAR,MONTH...)
    返回值:日历字段代表的具体的值

    public static void main(String[] args) {
            demo01();
    }
    
    public static void demo01(){
            // 使用getInstance方法获取Calendar对象
            Calendar c = Calendar.getInstance();
            System.out.println(c);
            int year = c.get(Calendar.YEAR);
            System.out.println(year);
    
            int mouth = c.get(Calendar.MONTH);
            // 西方月份0-11  东方月份1-12
            System.out.println(mouth);
    
            int date = c.get(Calendar.DAY_OF_MONTH);
            System.out.println(date);
            int date2 = c.get(Calendar.DATE);
            System.out.println(date2);
        }
    
    

    set方法

    格式:

    ​ public void set(int field,int value):将给定的日历字段设置为给定值
    参数:
    ​ int field:传递指定的日历字段(YEAR,MONTH...)
    ​ int value:给指定的字段设置值

    public static void main(String[] args) {
             demo02();
       }
     public static void demo02(){
            // 使用getInstance方法获取calendar对象
            Calendar c = Calendar.getInstance();
            System.out.println(c);
    
            c.set(999,6,6);
            // 获取年
            c.set(Calendar.YEAR,666);
            int year = c.get(Calendar.YEAR);
            System.out.println("系统时间:"+year);
            System.out.println("重新设置年::"+year);
    
            // 重新设置月
            c.set(Calendar.MONTH,6);
            int month = c.get(Calendar.MONTH);
            System.out.println("月份:"+month);
    
            // 重新设置日
            c.set(Calendar.DATE,11);
            // 获取日
            int date = c.get(Calendar.DATE);
            System.out.println(date);
    
            c.set(999,6,6);
            System.out.println(year+"年"+month+"月"+date+"日");
        }
    
    

    add方法

    格式:

    ​ public abstract void add(int field,int amount):根据日历的规则,得指定的日历字段添加或者减去指定的时间量把指定的字段量增加/减少指定的值
    参数:
    ​ int field:传递指定的日历字段(YEAR,MONTH...)
    ​ int amount:增加/减少指定的值
    ​ 正数:增加
    ​ 负数:减少

    public static void main(String[] args) {
             demo03();
    }
    
    public static void demo03(){
            Calendar c = Calendar.getInstance();
            // 增加两年
            c.add(Calendar.YEAR,2);
            int year = c.get(Calendar.YEAR);
            System.out.println(year);
    
            // 减少两个月
            c.add(Calendar.MONTH,-1);
            int month = c.get(Calendar.MONTH);
            System.out.println(month);
        }
    

    getTime方法

    Calendar中的getTime方法并不是获取毫秒时刻,而是拿到对应的Date对象。

    格式:

    ​ public Date getTime():返回一个表示此calendar时间值(从历元到现在的毫秒值偏移量)的Date对象
    把日历对象,转换为日期对象

    public static void main(String[] args) {
             demo04();
    }
    public static void demo04(){
            // 使用getInstance方法获取calendar对象
            Calendar c = Calendar.getInstance();
    
            Date date = c.getTime();
            System.out.println(date);
            // Thu Mar 12 23:20:35 CST 2020
    
        }
    

    小贴士:

    ​ 西方星期的开始为周日,中国为周一。

    ​ 在Calendar类中,月份的表示是以0-11代表1-12月。

    ​ 日期是有大小关系的,时间靠后,时间越大。

  • 相关阅读:
    poj3304 Segments
    Java基础知识强化之IO流笔记27:FileInputStream读取数据一次一个字节数组byte[ ]
    Java基础知识强化之IO流笔记26:FileInputStream / FileOutputStream 复制mp4视频的案例
    Java基础知识强化之IO流笔记25:FileInputStream / FileOutputStream 复制图片案例
    Java基础知识强化之IO流笔记24:FileInputStream / FileOutputStream 复制文本文件案例2
    Java基础知识强化之IO流笔记23:计算机是如何识别把两个字节拼接为中文(附加)
    Java基础知识强化之IO流笔记22:FileInputStream / FileOutputStream 复制文本文件案例1
    Java基础知识强化之网络编程笔记08:TCP之客户端键盘录入服务器控制台输出
    Java基础知识强化之网络编程笔记07:TCP之服务器给客户端一个反馈案例
    Java基础知识强化之网络编程笔记06:TCP之TCP协议发送数据 和 接收数据
  • 原文地址:https://www.cnblogs.com/anke-z/p/12483693.html
Copyright © 2011-2022 走看看