龙空技术网

java8-关于日期和时间新特性使用介绍

编程少年 312

前言:

此时兄弟们对“java获取当前时间到秒”大约比较关切,看官们都需要知道一些“java获取当前时间到秒”的相关资讯。那么小编同时在网络上网罗了一些有关“java获取当前时间到秒””的相关文章,希望兄弟们能喜欢,看官们一起来了解一下吧!

一、概览

在JDK 8之前,其实有不少的API都存在着一些问题,日期时间等相关类同样如此。所以从JDK 8开始,Java做了较大的改动,出现了很多新特性,主要包括如下图所示:

二、概念介绍本地日期和时间LocalDateTime:表示日期和时间,不带时区信息。它包含年、月、日、时、分、秒和纳秒。常用于表示完整的日期和时间。LocalDate:表示日期,不包含时间和时区。它包含年、月和日。常用于处理日期相关的操作,如计算日期差、格式化日期等。LocalTime:表示时间,不包含日期和时区。它包含时、分、秒和纳秒。常用于处理时间相关的操作,如计算时间差、格式化时间等。

注意,这三种API,默认会严格按照ISO 8601规定的日期和时间格式进行打印。ISO 8601规定的格式如下图所示:

带时区的日期和时间ZonedDateTime:ZonedDateTime 类表示一个带有具体时区的完整日期和时间。它包含了年、月、日、时、分、秒等信息,并在此基础上加入了时区的信息。与 OffsetDateTime 不同,ZonedDateTime 使用时区标识符来表示时区信息,例如 "2023-11-15T15:34:45.506+08:00[Asia/Shanghai]" 表示的就是一个 ZonedDateTime 对象,其中 "[Asia/Shanghai]" 表示该日期时间的时区为亚洲上海。OffsetDateTime:OffsetDateTime 类表示一个带有时区偏移量(相对于 UTC)的完整日期和时间。它包含了年、月、日、时、分、秒等信息,并在此基础上加入了与 UTC 的偏移量。例如,"2023-05-30T10:30:00+02:00" 表示的就是一个 OffsetDateTime 对象,其中 "+02:00" 表示该日期时间相对于 UTC 的偏移量为 +2 小时。指定某个时刻Instant:Instant 是 Java 8 中表示时间戳的类,它代表的是距离 "1970-01-01T00:00:00Z"(也就是标准的 UTC 时间)的秒数。Instant 类提供了处理时间戳的方法,通常用于在需要精确表示某一时刻的情况下进行操作。时区ZoneId:ZoneId 类表示一个时区标识符,用于表示地理区域或城市的时区信息。它可以表示类似 "Asia/Shanghai"、"America/New_York" 这样的时区标识符,提供了对特定时区进行操作的方法。ZoneId 可以用于创建 ZonedDateTime 对象,并且提供了一些与时区相关的方法,例如获取所有可用的时区等。ZoneOffset:ZoneOffset 类表示一个固定的时区偏移量,即相对于 UTC 的偏移量,例如 +02:00 或 -08:00。它通常用于表示相对于 UTC 的固定偏移量,而不包含夏令时等变化。ZoneOffset 提供了对时区偏移量进行操作的方法,例如与其他偏移量进行比较、添加时间等。时间间隔Duration:Duration 是 Java 8 中用于表示时间间隔的类,它可以用来表示两个时间点之间的时长,以及对时长进行操作。Duration 类提供了丰富的方法,用于处理不同单位的时间间隔,例如秒、纳秒等。格式化DateTimeFormatter:DateTimeFormatter 是 Java 8 中用于日期时间格式化和解析的类,它提供了丰富的方法和模式来定义日期时间的格式,并且支持多国语言和地区的格式化和解析需求。三、常用操作示例介绍1. LocalDateTime 部分获取当前日期和时间创建指定日期和时间格式化成字符串解析字符串获取日期和时间部分获取年、月、日、时、分、秒等执行日期和时间的加减操作比较两个日期和时间的先后计算两个日期和时间的差值2.LocalDate部分获取当前日期创建指定日期使用枚举类型创建日期格式化日期解析字符串获取年、月、日日期的加减操作比较两个日期的先后计算两个日期的差值3.LocalTime 部分获取当前时间创建指定时间格式化时间解析字符串获取时、分、秒执行时间的加减操作比较两个时间先后计算两个时间差值4.ZonedDateTime 部分获取当前时间创建指定时区的日期和时间格式化日期和时间解析字符串获取特定时区的当前日期和时间调整时区,查看相同时刻,不同时区对应的时间加减日期和时间操作比较日期和时间5.OffsetDateTime 部分获取当前日期和时间创建指定时区偏移量的日期和时间格式化日期和时间解析字符串获取特定时区偏移量的当前日期和时间调整时区偏移量加减日期操作比较日期和时间6.Instant 部分获取当前时间戳创建时间戳获取时间戳秒和纳秒比较时间戳加减时间戳转换为其他类型7.ZoneId 部分创建方式获取当前日期和时间8.ZoneOffset 部分创建方式使用创建 OffsetTime9.Duration 部分创建方式获取时长和纳秒数转换为其他单位比较大小加减时长10.DateTimeFormatter 部分创建方式格式化日期和时间解析字符串为日期和时间本地化的格式化和解析

标签: #java获取当前时间到秒 #java夏令时