转自:https://blog.csdn.net/u012129558/article/details/79726319

简介

伴随 lambda表达式streams 以及一系列小优化,Java 8 推出了全新的日期时间API。

Java处理日期、日历和时间的不足之处:将 java.util.Date 设定为可变类型,以及 SimpleDateFormat 的非线程安全使其应用非常受限。然后就在 java8 上面增加新的特性。

全新API的众多好处之一就是,明确了日期时间概念,例如:瞬时(instant)、 长短(duration)日期时间时区周期

同时继承了Joda 库按人类语言和计算机各自解析的时间处理方式。不同于老版本,新API基于ISO标准日历系统,java.time包下的所有类都是不可变类型而且线程安全。

关键类

  • Instant:瞬时实例。
  • LocalDate:本地日期,不包含具体时间 例如:2014-01-14 可以用来记录生日、纪念日、加盟日等。
  • LocalTime:本地时间,不包含日期。
  • LocalDateTime:组合了日期和时间,但不包含时差和时区信息。
  • ZonedDateTime:最完整的日期时间,包含时区和相对UTC或格林威治的时差。

新API还引入了 ZoneOffSet 和 ZoneId 类,使得解决时区问题更为简便。解析、格式化时间的 DateTimeFormatter
类也全部重新设计。

实战

在教程中我们将通过一些简单的实例来学习如何使用新API,因为只有在实际的项目中用到,才是学习新知识以及新技术最快的方式。

1. 获取当前的日期

Java 8 中的 LocalDate 用于表示当天日期。和 java.util.Date不同,它只有日期,不包含时间。当你仅需要表示日期时就用这个类。

1 //获取今天的日期
2 public void getCurrentDate(){
3     LocalDate today = LocalDate.now();
4     System.out.println("Today's Local date : " + today);
5  
6     //这个是作为对比
7     Date date = new Date();
8     System.out.println(date);
9 }
View Code

相关文章:

  • 2021-04-13
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-05
  • 2022-12-23
  • 2022-12-23
  • 2022-02-05
猜你喜欢
  • 2021-11-14
  • 2021-05-13
  • 2021-06-21
  • 2019-09-16
  • 2021-09-15
  • 2022-12-23
  • 2021-06-01
相关资源
相似解决方案