Java基础教学 日期类Api导学

前言

在java面世的时候就提供了Date类和Calendar类
但是这两个类都存在并发下线程不安全的情况
jdk8中引入了time包
本次期望能学会jdk8下面java.time包下面的常用方法

案例

已知小李为1995年12月23日出生,请问他距离今天已经过去了多少天?
在这里插入图片描述
在这里插入图片描述
老版本计算比较困难,而且容易在毫秒值出现误差

案例 2

学到了Date和Calendar两个类,一定会学到SimpleDateFormat来进行转换
在这里插入图片描述
SimpleDateFormat会有一个clear的操作
所以多线程的时候,当一个线程刚进行clear,这个时候Cpu的时间片被抢夺了,另一个线程开始进行构造的时候发现Calendar这个变量已经为空了,所以多线程就会出现异常
在这里插入图片描述
只能用synchronized来修饰保证同步代码块

小结

旧的Date与Calendar还有SimpleDateFormat
存在使用复杂切多线程情况下线程不安全的问题

Time学习

在这里插入图片描述
可以看到Time的Api中均不可以使用new关键字去创建对象
而是用now方法去创建每个函数的对象

在这里插入图片描述

Of方法

LocalTime LocalDate LocalDateTime

获取时区

在这里插入图片描述

Month枚举

Time包引入了Month的枚举
直接拿来用即可
标准十二个月的常量
在这里插入图片描述

创建时间

在这里插入图片描述

根据现有实例创建日期与时间对象

plus 加 minus 减法

在这里插入图片描述
在这里插入图片描述

with的用法

在这里插入图片描述

调节器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Date与Time之间的转换

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SimpleDateFormat的替代品

SimpleDateFormat是线程不安全的
在这里插入图片描述
在这里插入图片描述

自定义

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值