1.将LocalDateTime转为自定义的时间格式的字符串
1 | 1. |
2.将long类型的timestamp转为LocalDateTime
1 |
|
3.将LocalDateTime转为long类型的timestamp
1 |
|
4.将某时间字符串转为自定义时间格式的LocalDateTime
1 |
|
Java 8中表示日期和时间的类主要的有:
Instant:表示时刻,不直接对应年月日信息,需要通过时区转换
LocalDateTime: 表示与时区无关的日期和时间信息,不直接对应时刻,需要通过时区转换
LocalDate:表示与时区无关的日期,与LocalDateTime相比,只有日期信息,没有时间信息
LocalTime:表示与时区无关的时间,与LocalDateTime相比,只有时间信息,没有日期信息
ZonedDateTime: 表示特定时区的日期和时间
ZoneId/ZoneOffset:表示时区
与字符串互转
1 |
|
与Date互转
1 | java.util.Date date = new java.util.Date(); |
与LocalDate互转
1 | LocalDateTime now = LocalDateTime.now(); |
Date与LocalDate,LocalDateTime 之间的转换工具类
1 | package com.libstar.lsp.find.utils; |
Java8计算日期时间差
java8中计算时间差的三个函数
- Period
- Duration
- ChronoUnit
1. Period类
Period类方法getYears(),getMonths()和getDays()
1 | import java.time.LocalDate; |
结果输出:
today : 2019-07-12
BirthDate : 1995-03-12
年龄 : 24 年 ** 月 ** 日
2.Duration类
提供基于时间的值(如秒,纳秒)测量时间量的方法
1 | import java.time.Duration; |
结果输出:
Inst1 : 2019-07-12T22:54:45.085Z
Inst2 : 2019-07-12T22:54:55.085Z
Difference in milliseconds : 10000
Difference in seconds : 10
3. ChronoUnit类
ChronoUnit类可用于在单个时间单位内测量一段时间,例如天数或秒。
例子:
使用between()方法来查找两个日期之间的区别
1 | import java.time.LocalDate; |
结果输出:
开始时间 : 1995-03-12
结束时间 : 2019-07-12
两天之间的差在天数 : 8888