1. 第一代日期Date类
- jdk1.0引入
- Diagram类图中的Properties代表(getter、setter)
- 第一代日期类
包含两个构造器,Date() 和Date(long);
new Date(): 精确到毫秒;
默认输出格式:Mon Oct 31 14:32:17 JST 2022(星期 月份 日 时分秒 JST 年)
SimpleDateFormat: 格式化和解析日期的具体类,允许进行解析(文本 -> 日期)
常见格式:yyyy年MM月dd日 D HH:mm:ss:SSS(hh代表12小时制、SSS代表毫秒、D今天是这一年的第几天)
new Date(long):通过指定毫秒数得到时间
new SimpleDateFormat(“yyyy年MM月dd日 HH:mm:ss:SSS”).parse(“2022年10月31日 14:58:22:119”)
可以将格式化的字符串转换成默认日期格式(日期 -> 文本)
s字符串中的日期格式必须和simpleDateFormat括号里的日期格式相同,才可以使用simpleDateFormat.parse(s)
默认日期格式 <-> 自定义日期格式,相互转换
2. 第二代日期Calendar类
- Calendar类是一个抽象类(抽象类不能实例化),构造器是私有的,可以通过getInstance() 来获取实例
- Calendar类提供了大量的方法和静态属性供程序员使用
- jdk1.1引入
- Calendar没有提供对应的格式化类,因此需要自己组合输出日期
3. 第三代日期LocalDateTime类
构造器
- jd8引入;
- LocalDate()输出年月日;
- LocalTime()输出时分秒;
- LocalDateTime()输出年月日时分秒;
- LocalDateTime.now(); 返回当前时间
- 创建DateTimeFormatter类对象进行格式化
3.1 Instant类 时间戳
构造器
- Instant.now()静态方法获取表示当前时间戳的对象
- 将Instant对象 转换成 Date
- 将Date 转换成Instant对象
3.2 其它方法
- plus()方法、minus()方法,可以对当前的时间进行加或者减
查看365天之后,是几月几号,输出年月日时分秒
查看12345分钟前是什么时候?输出年月日时分秒