JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

java8日期处理,收藏起来,工作会用到

wys521 2024-11-24 22:49:34 精选教程 60 ℃ 0 评论

Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API,Java处理日期、日历和时间的不足之处:将 java.util.Date 设定为可变类型,以及 SimpleDateFormat 的非线程安全使其应用非常受限。然后就在 java8 上面增加新的特性。全新API的众多好处之一就是,明确了日期时间概念,例如:瞬时(instant)、长短(duration)、日期、时间、时区和周期。同时继承了Joda 库按人类语言和计算机各自解析的时间处理方式。不同于老版本,新API基于ISO标准日历系统,java.time包下的所有类都是不可变类型而且线程安全。

新加入的类:

Instant:瞬时实例。

LocalDate:本地日期,不包含具体时间 例如:2014-01-14 可以用来记录生日、纪念日、加盟日等。

LocalTime:本地时间,不包含日期。

LocalDateTime:组合了日期和时间,但不包含时差和时区信息。

ZonedDateTime:最完整的日期时间,包含时区和相对UTC或格林威治的时差

下来写示例来汇总下java8日期的API

  • java 8中获取今天的日期

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

  • java 8中获取年、月、日信息
  • java8处理特定日期

我们通过静态工厂方法now()非常容易地创建了当天日期,你还可以调用另一个有用的工厂方法LocalDate.of()创建任意日期, 该方法需要传入年、月、日做参数,返回对应的LocalDate实例。这个方法的好处是没再犯老API的设计错误,比如年度起始于1900,月份是从0开 始等等。

  • java8中判断两个日期是否相等
  • java8中检查像生日这种周期性事件

只要当天的日期和生日匹配,无论是哪一年都会打印出生日信息。

  • java8中获取当前时间

可以看到当前时间就只包含时间信息,没有日期,通过增加小时、分、秒来计算将来的时间很常见。Java 8除了不变类型和线程安全的好处之外,还提供了更好的plusHours()方法替换add(),并且是兼容的。

  • java8如何计算一周后,一年后的日期
  • 如何用Java判断日期是早于还是晚于另一个日期

在Java 8中,LocalDate类有两类方法isBefore()和isAfter()用于比较日期。调用isBefore()方法时,如果给定日期小于当前日期则返回true。

  • 在Java8中获取当前的时间戳

Instant类有一个静态工厂方法now()会返回当前的时间戳,如下所示:

  • java8中如何使用预定义的格式化工具去解析或格式化日期
  • 字符串互转日期类型

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表