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之前,DateCalendar获取到的月份都是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())); 
// 现在把时区也设置了,就好啦

image

image

image

2.2 LocalDate

  • 获取日期

image

2.3 LocalDateTime

  • 获取日期和时间

image

2.4 DateTimeFormatter

  • 日期格式转换

image

2.4 各日期类型的转换

2.4.1 Instant型与Date型的转换

image
image

2.4.2 Instant型与LocalDateTime型的转换

image

2.4.3 LocalDateTime和Date的转换

image

三、其他类

3.1 Math

  • 全是静态,调用时直接类名.方法()

  • 随机数 random 返回值类型double
    image

  • 向上、下取整 ceil()floor() 返回值类型double

  • 四舍五入 round() 返回值类型:long

  • 另外:
    Math.PI

3.2 BigDecimal

统计类

与钱相关

image

四、数组的工具类

image

五、系统类

image

六、Objects(重要)

objects.isNull(""):判断是不是空

今天写的有点晕,哈哈哈哈,太多啦~~

posted @ 2022-07-28 21:12  来日可追  阅读(32)  评论(2编辑  收藏  举报