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)); } }
结果如下: