Java日志第25天 2020.7.30

Calendar类

java.util.Calendar是一个日历类。

Calendar类是一个抽象类,它提供了YEAR, MONTH, DAY_OF_MONTH, HOUR等很多操作日历字段的方法。

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

static Calendar getInstance()

使用默认时区和语言环境获得一个日历

import java.util.Calendar;

public class Demo01Calendar {
    public static void main(String[] args) {
        Calendar c =  Calendar.getInstance();
        System.out.println(c);
    }
}

Calendar类常用的成员方法

1. public int get ( int field )

返回给定日历字段的值

import java.util.Calendar;

public class Demo01Calendar {
    public static void main(String[] args) {
        Calendar c = Calendar.getInstance();

        int year = c.get(Calendar.YEAR);
        System.out.println("year = "+ year);

        int month = c.get(Calendar.MONTH) + 1;
        System.out.println("month = " + month);
        
        int day = c.get(Calendar.DATE);
        System.out.println("day = "+ day);
    }
}

2. public void set ( int field, int value )

将给定的日历字段设置为给定值

import java.util.Calendar;

public class Demo01Calendar {
    public static void main(String[] args) {
        Calendar c = Calendar.getInstance();

        //分别设置
        c.set(Calendar.YEAR, 2021);
        c.set(Calendar.MONTH, 8);
        c.set(Calendar.DATE, 9);
        int year = c.get(Calendar.YEAR);
        System.out.println("year = "+ year);

        int month = c.get(Calendar.MONTH);
        System.out.println("month = " + month);

        int day = c.get(Calendar.DATE);
        System.out.println("day = "+ day);
    }
}
import java.util.Calendar;

public class Demo01Calendar {
    public static void main(String[] args) {
        Calendar c = Calendar.getInstance();

        //重载设置
        c.set(2021,8,9);
        int year = c.get(Calendar.YEAR);
        System.out.println("year = "+ year);

        int month = c.get(Calendar.MONTH);
        System.out.println("month = " + month);

        int day = c.get(Calendar.DATE);
        System.out.println("day = "+ day);
    }
}

3. public abstract void add ( int field, int amount)

根据日历的规则,为给定的日历字段添加或减去指定的时间量

import java.util.Calendar;

public class Demo01Calendar {
    public static void main(String[] args) {
        Calendar c = Calendar.getInstance();

        /*
        public abstract void add ( int field, int amount)
        int field:日历字段
        int amount:添加或减去时间量
                    正数:添加
                    负数:减去
         */

        c.add(Calendar.YEAR,-1);
        int year = c.get(Calendar.YEAR);
        System.out.println("year = "+ year);

        int month = c.get(Calendar.MONTH);
        System.out.println("month = " + month);

        int day = c.get(Calendar.DATE);
        System.out.println("day = "+ day);
    }
}

4. public Date getTime ()

返回一个表示此Calendar时间值的Date对象

import java.util.Calendar;
import java.util.Date;

public class Demo01Calendar {
    public static void main(String[] args) {
        Calendar c = Calendar.getInstance();

        Date date = c.getTime();
        System.out.println(date);
    }
}

System类

 java.lang.System类中提供了大量静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文档中,常用的方法有:

1. public static long currentTimeMills () 返回以毫秒为单位的当前时间

实例:循环9999次所需要的时间

public class currentTimeMills {
    public static void main(String[] args) {
        long start = System.currentTimeMillis();

        for (int i = 1; i <= 9999; i++) {
            System.out.println(i);
        }

        long end = System.currentTimeMillis();
        System.out.println("所需要的时间为"+(end - start)+"毫秒");
    }
}

2. public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

将数组中的指定数据拷贝到另一个数组中

参数:

src      -源数组

srcPos     -源数组中的起始位置(起始索引)

dest    -目标数组

destPos   -目标数据中的起始位置

length    -要复制的数组元素的数量

import java.util.Arrays;

public class arraycopy {
    public static void main(String[] args) {
        int[] src = {1, 2, 3, 4, 5};
        int[] dest = {6,7, 8, 9, 10};

        System.out.println("复制前:");
        System.out.println("src:"+ Arrays.toString(src));
        System.out.println("dest:"+ Arrays.toString(dest));

        System.out.println("================");
        //将src数组的前三个元素赋值到dest数组的前三个元素
        System.arraycopy(src, 0, dest, 0, 3);

        System.out.println("复制后:");
        System.out.println("src:"+ Arrays.toString(src));
        System.out.println("dest:"+ Arrays.toString(dest));
    }
}

结果如下:

原文地址:https://www.cnblogs.com/Gazikel/p/13402145.html