- 一、常用API
- 1.1 与时间有关API
- 1.1.1 时间戳
- 1.1.2 Date
- 1.1.3 Calendar
- 1.1.4 ==日期格式化==(重要)
- 1、SimpleDateFormat 类
- 1.1 `format()`----格式化`Date`型,把`Date`型时间转`String`型
- 1.2 `parse()`----把`String`型时间转为`Date`型
- 1.3 设计一个工具类
- 二、JDK8的日期时间类
- 2.1 新的实现类:
- 2.1 Instant
- 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
- 3.2 BigDecimal
- 四、数组的工具类
- 五、系统类
- 六、Objects(重要)
- 今天写的有点晕,哈哈哈哈,太多啦~~
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类。
Calendar : 是一个抽象类,可以new ,但不能创建对象
// 获取一个日历对象,其实是它子类的对象
Calendar calendar = Calendar.getInstance();
1.1.4 日期格式化(重要)
1、SimpleDateFormat 类
Date date = new Date();
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
某一瞬间
Instant time = Instant.now(); // 美国时间 // 获取当前时间的同时,还能拿到一个对象 System.out.println(time.atZone(zoneId.systemDefault())); // 现在把时区也设置了,就好啦2.2 LocalDate
- 获取日期
- 获取日期和时间
- 日期格式转换
-
全是静态,调用时直接类名.方法()
-
随机数 random 返回值类型double
-
向上、下取整 ceil()、floor() 返回值类型double
-
四舍五入 round() 返回值类型:long
-
另外:
Math.PI
统计类
四、数组的工具类 五、系统类 六、Objects(重要)与钱相关
objects.isNull(""):判断是不是空
今天写的有点晕,哈哈哈哈,太多啦~~


