Java 常用类:
- Calendar类:由于Date类过于古老,许多的构造器和方法都已经过时。Java推荐使用Calendar来完成时间计算等操作。
Calendar类中关于时间的属性
Calendar.YEAR:年份 Calendar.MONTH:月份
Calendar.DATE:日期
Calendar.DAY_OF_MONTH:日期,和上面的字段意义完全相同
Calendar.HOUR:12小时制的小时 Calendar.HOUR_OF_DAY:24小时制的小时
Calendar.MINUTE:分钟 Calendar.SECOND:秒
Calendar.DAY_OF_WEEK:星期几
常用方法:
Calendar getInstance():使用默认时区和语言环境获得一个日历。
Calendar.getInstance(TimeZone.getDefault(), Locale.CHINA);
get(int field):返回给定日历字段的值。
System.out.println("年:"+calendar.get(Calendar.YEAR));
set(int field, int value):将给定的日历字段设置为给定值。该方法有多个重载
Calendar calendar=Calendar.getInstance();
calendar.set(calendar.YEAR, 2020);
年份就会被改为2020年
add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
Calendar calendar=Calendar.getInstance();
calendar.add(Calendar.HOUR_OF_DAY,-1);
calendar.add(Calendar.YEAR,10);
//会根据时间关联相互影响,时间过了二十四小时,天数也会相应的增加或减少
正数代表加上
负数代表减去
roll(int field, int amount):向指定日历字段添加指定(有符号的)时间量,不更改更大的字段。
calendar.roll(Calendar.HOUR_OF_DAY,-17);
//只会影响当前的值,并不会进行相应的时间联动,时间过了二十四小时,天数不会改变
getTime():返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象。
Calendar calendar=Calendar.getInstance();
Date dateEnd=calendar.getTime();
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(dateFormat.format(dateEnd));
输出:2021-03-18 16:44:16
setTime(Date date):使用给定的 Date 设置此 Calendar 的时间。
- Math类:Java提供了Math工具类来完成复杂的运算,Math类是一个工具类,构造器被private的,无法创建Math 类的对象;Math类中的所有方法都是静态方法(类方法),可以直接通过类名来调用它们。
两个类变量:
PI 圆周率
System.out.println("Math.PI = "+Math.PI);
输出:Math.PI = 3.141592653589793
E 自然对数的底数
System.out.println("Math.E = "+Math.E);
输出:Math.E = 2.718281828459045
常用方法:
toDegrees(double angrad):将弧度转换角度
System.out.println("Math.toDegrees(1.57)= "+Math.toDegrees(1.57));
输出:Math.toDegrees(1.57)= 89.95437383553926
toRadians(double angdeg):将角度转换为弧度
System.out.println("Math.toRadians(90)= "+Math.toRadians(90));
输出:Math.toRadians(90)= 1.5707963267948966
acos(double a):计算反余弦,返回的角度范围在 0.0 到 pi 之间。
System.out.println("Math.acos(1.2)= "+Math.acos(1.2));
输出:Math.acos(1.2)= NaN
asin(double a):计算反正弦;返回的角度范围在 - pi/2 到 pi/2 之间。
System.out.println("Math.asin(0.8)= "+Math.asin(0.8));
输出:Math.asin(0.8)= 0.9272952180016123
atan(double a):计算反正切;返回的角度范围在 - pi/2 到 pi/2 之间。
System.out.println("Math.atan(2.3)= "+Math.atan(2.3));
输出:Math.atan(2.3)= 1.1606689862534056
cos(double a):计算三角余弦。
System.out.println("Math.cos(1.57)= "+Math.cos(1.57));
输出:Math.cos(1.57)= 7.963267107332633E-4
cosh(double a):计算值的双曲余弦。
System.out.println("Math.cosh(1.2)= "+Math.cosh(1.2));
输出:Math.cosh(1.2)= 1.8106555673243747
sin(double a):计算正弦
System.out.println("Math.sin(1.57)= "+Math.sin(1.57));
输出:Math.sin(1.57)= 0.9999996829318346