Java基础_Calendar类和System类

Calendar类

  java.util.Calendar 日历类,抽象类,在Date类后出现的,替换掉了很多Date类中的方法。该类将所有的可能用到的时间信息封装为静态成员变量,通过类名.静态成员变量获取时间字段值

获取方式:

  Calendar类是一个抽象类,Calendar类并不是直接创建对象来获取时间属性值,而是通过静态方法创建,返回子类对象。

import java.util.Calendar;
pubic class Demo01Calendar {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();// 获取一个日历的对象     
    }
}
  • public int get(int field):获取给定的日历字段值

  • public void set(int field,int value):将给定的字段设定为给定的值

  • public abstract void add(int field,int amount):根据日历规则,将给定的日历字段添加或者减少指定的时间值

  • public Date getTime():把日历对象转换成日期对象

  • public long getTimeInMillis():获取日历对象对应的毫秒值

字段值含义
YEAR
MONTH 月份
DATE 月中的某一天(几号)
DAY_OF_MONTH 月中的第几天
HOUR 时(12小时制)
HOUR_OF_DAY 时(24小时制)
MINUTE
SECOND
DAY_OF_WEEK 一周中的第几天(周几,周日为1)

月份后面+1,因为月是从0开始

Calendar cl= Calendar.getInstance();
cl.set(1990,2,3);
int y = cl.get(Calendar.YEAR);
int m = cl.get(Calendar.MONTH) + 1;
int d = cl.get(Calendar.DATE);
System.out.println(y+"年"+m+"月"+d+"日");//1990年3月3日
int time = cl.get(Calendar.DAY_OF_YEAR);//当前时间是一年中的第几天
System.out.println(time);

System类:

  java.lang.System类中提供了大量的静态方法,主要是用来获取与系统相关的信息或者是进行系统级操作。

  是final类

  public static long currentTimeMills(): 获取当前系统时间对应的毫秒值

  public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length):将数组中指定的数据拷贝到另一个数组当中

currentTimeMills()方法 :  实际上,它获取到的是距1970年1月1日 0时0分0秒到当前时间的毫秒差值

arraycopy()方法:     集合中remove方法底层代码有用到此方法

​ 将一个数组当中的元素复制到另一个数据当中,数组的拷贝动作是一个系统级的操作,性能比较高。

arraycopy方法当中涉及到5个参数:

参数列表参数名称参数类型参数含义
1 src Object 源数组
2 srcPos int 源数组索引的起始位置
3 dest Object 目标数组
4 destPos int 目标数组索引的起始位置
5 length int 复制元素的个数
原文地址:https://www.cnblogs.com/9080dlb/p/14070977.html