LocalDate、LocalTime、LocalDateTime是JDK1.8新出的类
优势:相对于Date、Calendar更加安全而且api更加丰富,对日期时间的操作更加容易,非常值得一试。
根据类 命名 我们就可以轻松知道
- LocalDate是 处理 日期类
- LocalTime是 处理 时间类
- LocalDateTime是 处理 日期时间类
JDK1.8 获取时间戳
代码语言:javascript复制 @Test
public void 获取时间戳(){
LocalDateTime now = LocalDateTime.now();
long timeStamp = now.toEpochSecond(ZoneOffset.UTC);
timeStamp = LocalDateTime.now().toEpochSecond(ZoneOffset.UTC);
System.out.println(timeStamp);
}
LocalDate
代码语言:javascript复制 /**
*1. LocalDate常用方法
*/
LocalDate today = LocalDate.now();//获取当前日期
System.out.println(String.format("[当前日期]%d-%d-%d", today.getYear(), today.getMonthValue(), today.getDayOfMonth()));
System.out.println("[今天所处一月的周数]" today.get(ChronoField.ALIGNED_WEEK_OF_MONTH));
System.out.println("[今天所处一年的周数]" today.get(ChronoField.ALIGNED_WEEK_OF_YEAR));
System.out.println("[今天所处一年的天数]" today.getDayOfYear());
LocalDate past = LocalDate.parse("2021-02-22"); //获取 2021-02-22
System.out.println("[2021-02-22是否是闰年]" past.isLeapYear());
System.out.println("[2021-02-22星期几]" past.getDayOfWeek());
System.out.println("[2021-02-22所在月的第一天]" past.with(TemporalAdjusters.firstDayOfMonth()));
System.out.println("[2021-02-22所在月的第二天]" past.withDayOfMonth(2));
System.out.println("[2021-02-22所在月的最后一天]" past.with(TemporalAdjusters.lastDayOfMonth()));
System.out.println("[2021-02-22之后18年]" past.plusYears(18));
System.out.println("[2021-02-22之前18个月]" past.plusMonths(-18));
System.out.println("[2021-02-22所在月的第一个周一]" past.with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY)));
代码语言:javascript复制2021-02-22
[当前日期]2021-2-22
[今天所处一月的周数]4
[今天所处一年的周数]8
[今天所处一年的天数]53
[2021-02-22是否是闰年]false
[2021-02-22星期几]MONDAY
[2021-02-22所在月的第一天]2021-02-01
[2021-02-22所在月的第二天]2021-02-02
[2021-02-22所在月的最后一天]2021-02-28
[2021-02-22之后18年]2039-02-22
[2021-02-22之前18个月]2019-08-22
[2021-02-22所在月的第一个周一]2021-02-01
[LocalDateTime-->String]2021/02/22 17:49:00-845
[String-->LocalDateTime-->Date]Mon Feb 22 17:49:00 CST 2021
一般处理 Local 时间的时候,通过使用:DateFormat
代码语言:javascript复制 @Test
void Xxx() {
LocalDateTime localDateTime = LocalDateTime.parse((CharSequence) "2020-11-10 10:10:10", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println(localDateTime.toLocalTime());
}
特殊说明: 以上文章,均是我实际操作,写出来的笔记资料,不会盗用别人文章!烦请各位,请勿直接盗用!转载记得标注来源!