Calendar类
System类
StringBuilder类
Calendar类
Calendar是一个抽象类,无法直接创建对象,所以Calendar自己类中包含了一个静态方法
来返回一个日历类对象.我们使用getInstance()静态方法来获得.
Calendar calendar=Calendar.getInstance()
常用的API方法
获取字段都是类名打点直接调用,因为Calendar字段都是静态的.
-
get(int field):获取给定的日历字段值
-
int i1 = calendar.get(Calendar.YEAR);
int i = calendar.get(Calendar.MONTH);按照字段来获得日期类中对应的值 -
set(int field,int value):将给定的字段设定为给定的值
-
calendar.set(Calendar.YEAR,2050);//直接对字段的值进行修改
-
public abstract void add(int field,int amount):根据日历规则,将给定的日历字段添加或者减少指定的时间值
-
//把当前的年份增加 2年
calendar.add(Calendar.YEAR,2);
//把当前的月份减少加2月
calendar.add(Calendar.MONTH,-2);按照下方字段获得对应的日期对象中的值,进行加减修改 -
Date getTime():把日历对象换换成日期对象 返回一个Date日期对象
-
Date date = calendar.getTime();
-
System.out.println(date);//Mon Nov 30 15:14:41 CST 2020
-
long getTImeInMillis():获取日历对象对应的毫秒值
-
long time = date.getTime();
System.out.println("date兑现对应的毫秒值"+time);//1606823337692
Calendar类中提供了很多个成员常量,代表给定的日历字段
字段值 | 含义 |
---|---|
YEAR | 年 |
MONTH | 月 |
DATE | 月中的某一天(几天) |
DAT_OF_MONTH | 月中的第几天 |
HOUR | 时(12小时制) |
HOUR_OF_DAY | 时(24小时制) |
MINUTE | 分 |
SECOND | 秒 |
DAY_OF_WEEK | 一周的第几天(周几,周日为1) |
备注:
-
在西方的星期,开始为周日中国的为周一
2.在Calendar类中,月份的表示是以0-11代表的是1-12月 所以设置的时候我们要自已减一,输出的时候我们要自己加一
3.日期是有大小关系的,时间靠后,时间越大.
System类
java.lang.System 类中提供了大量的静态方法和变量可以获取与系统相关的信息或者是系统
级操作,System类不能被实例化
通过API文档,常用的方法有:
public static long currentTimeMills():可以获取当前时间的毫秒值
long l = System.currentTimeMillis();//就是获取现在到1970年的1-1的毫秒值,如果我们使用两个本方法获取毫秒值可以得到经过了多少毫秒
public static void arrArCopy(
Object src, 源数组的名字
int srcPos, 源数组中的要复制的元素的起始位置
Object dest, 目标数组的名字
int destPos,目标数组中的被赋值的索引的起始索引
int length 你要复制源数组起始赋值索引后面的几个元素的数量
)将数组中的元素赋值到另一个数组里
int[] arr={1,2,3,4,5,6,7};
int[] destArr={6,7,8,9,10,11};
//复制前的目标数组的元素值为
System.out.println(Arrays.toString(destArr));//[6, 7, 8, 9, 10, 11]
System.arraycopy(arr,0, destArr, 0, 6);
System.out.println(Arrays.toString(destArr));//[1, 2, 3, 4, 5, 6]
ArrayIndexOutOfBoundsException可能出现索引越界异常,复制中的数组很容易越界
public static void exit(int status):停止当前正在执行的虚拟机.
很少用的一种方法
System.exit(0);//终止整个虚拟机程序走 其内的参数为抛出的异常