2022-07-28 一些常用API
一、常用API
Application Programing Interface :应用程序接口,jdk提供的一些类,我们可以直接调方法来解决问题;
类的方法在宏观上都可以称为接口
1.1 与时间有关API
1.1.1 时间戳
格林尼治时间1970年1月1号0时0分0秒 到 今天此时此刻的毫秒数
1s = 1000ms
在全世界都是固定的,
// 时间戳的获取
long l = System.currentTimeMillis(); // 类名.方法
// currentTimeMillis()有返回值,是个静态方法
获取来干嘛??
通过时间戳转换成我们当前所在地的具体时间和日期
1.1.2 Date
// 获取系统当前时间,但获取到的格式不友好
Date date = new Date();
Date date2 = new Date(1728478923753458L);
// 获取系统当前时间---有参构造器
……看文档!!
- 从jdk1.1开始,在处理时间和日期时,系统推荐使用Calendar类。
1.1.3 Calendar
Calendar : 是一个抽象类,可以new ,但不能创建对象
// 获取一个日历对象,其实是它子类的对象
Calendar calendar = Calendar.getInstance();
1.1.4 日期格式化(重要)
1、SimpleDateFormat 类
Date date = new Date();
/**
* yyyy:年 yy:年的后两位
* MM:月 dd:日
* HH:24小时制 hh:12小时
* mm:分钟
* ss:秒
* SSS:毫秒
*/
SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd");
String s = sdf.format(date); // 22-07-28
1.1 format()----格式化Date型,把Date型时间转String型
用于:展示数据到客户端
1.2 parse()----把String型时间转为Date型
什么时候用:从客户端传过来的时间,一般都是String型,存入数据库
1.3 设计一个工具类
- 可以对
Date类型的日期进行格式化,转成String format()参数是Date,返回值是String- 可以对
String类型的日期进行格式化,转成Date parse()参数是String,返回值是Date
// 工具类方法静态化
public class DateUtils {
private static final SimpleDateFormat SDF = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
public static final String dateToString(Date date){
return SDF.format(date);
}
public static final Date stringToDate(String dateStr) throws ParseException {
return SDF.parse(dateStr);
}
}
二、JDK8的日期时间类
jdk8之前,
Date和Calendar获取到的月份都是0到11月,而不是0到12月,不符合日常。
阿里巴巴规约的明确要求:
-
如果是
jdk8的应用,可以使用Instant代替Date -
LocalDateTime代替Calender -
DateTimeFormatter代替SimpleDateFormat
2.1 新的实现类:
2.1 Instant
某一瞬间
Instant time = Instant.now(); // 美国时间
// 获取当前时间的同时,还能拿到一个对象
System.out.println(time.atZone(zoneId.systemDefault()));
// 现在把时区也设置了,就好啦



2.2 LocalDate
- 获取日期

2.3 LocalDateTime
- 获取日期和时间

2.4 DateTimeFormatter
- 日期格式转换

2.4 各日期类型的转换
2.4.1 Instant型与Date型的转换


2.4.2 Instant型与LocalDateTime型的转换

2.4.3 LocalDateTime和Date的转换

三、其他类
3.1 Math
-
全是静态,调用时直接类名.方法()
-
随机数
random返回值类型double
![image]()
-
向上、下取整
ceil()、floor()返回值类型double -
四舍五入
round()返回值类型:long -
另外:
Math.PI
3.2 BigDecimal
统计类
与钱相关

四、数组的工具类

五、系统类

六、Objects(重要)
objects.isNull(""):判断是不是空


浙公网安备 33010602011771号