1.LocalDateTime
类
该类结合了和类LocalDateTime
的功能:它存储日期和时间。它的对象也是不可变的,它的方法类似于和类的方法。LocalDate
LocalTime
LocalDate
LocalTime
获取当前日期和时间
一切都如您所料:我们使用now()
方法。例子:
代码 | 控制台输出 |
---|---|
|
|
在屏幕上显示时,日期和时间以字母 分隔T
。
获取特定日期和时间
不出所料,一切都类似于LocalDate
和LocalTime
类——我们使用of()
方法:
... = LocalDateTime.of(year, month, day, hours, minutes, seconds);
首先,有一些参数以与LocalDate
类中相同的格式指定日期。然后有一些参数以与类中相同的格式指定时间LocalTime
。下面列出了该方法的所有变体of()
:
方法 |
---|
|
|
|
|
|
|
|
可以直接设置日期,也可以通过LocalDate
andLocalTime
对象间接设置:
代码 |
---|
|
控制台输出 |
|
该类LocalDateTime
具有获取日期和/或时间元素的方法。LocalDate
它们完全反映了和类的方法LocalTime
。我们不会在这里重复它们。
2.Instant
类
Java 的创造者也没有忘记老派的方式。
Date Time API 包括一个 Instant 类,用于处理用于计算机中发生的进程的时间。它处理的不是小时、分钟和秒,而是秒、毫秒和纳秒。
这个类有两个字段代表:
- 自 1970 年 1 月 1 日以来经过的秒数
- 几纳秒
该课程是为开发人员制作的吗?是的。这就是它以 Unix 时间计算时间的原因,该时间从 1970 年初开始。
甚至可以说Instant
类是类的简化版Date
,只保留程序员需要的东西。
您可以使用Instant
与获取对象完全相同的方式获取LocalTime
对象:
Instant timestamp = Instant.now();
其中timestamp
是一个Instant
变量,是对类的静态方法的调用。Instant.now()
now()
Instant
例子:
代码 | 控制台输出 |
---|---|
|
|
of()
您还可以通过传递自 1970 年 1 月 1 日以来经过的时间,使用该方法的变体创建一个新对象:
|
你需要传递毫秒数 |
|
你需要传递秒数 |
|
你需要传递秒和纳秒 |
Instant
对象可用的方法
Instant 类有两个返回其字段值的方法:
|
自 1970 年 1 月 1 日以来经过的秒数 |
|
纳秒。 |
|
自 1970 年 1 月 1 日以来经过的毫秒数 |
还有一些方法可以Instant
根据现有对象创建新对象:
|
将秒数添加到当前时间 |
|
添加毫秒 |
|
添加纳秒 |
|
减秒 |
|
减去毫秒 |
|
减去纳秒 |
例子:
代码 | 控制台输出 |
---|---|
|
|
GO TO FULL VERSION