本文共 1807 字,大约阅读时间需要 6 分钟。
在此页面中,我们将看到 java 8
时间接口 DayOfWeek
、Duration
和 Instant
的示例。
DayOfWeek
表示一周的日期名称。
Duration
是将表示为一个类的时间量。
Instant
是时间刻度上的一个瞬间的时间点。
java.time.DayOfWeek
是java 8
中一个不可变的、线程安全的枚举。
DayOfWeek
表示一周中的一天,如MONDAY
, TUESDAY
等。
DayOfWeek
除了日期名称也有一个数字值。
我们可以通过数字值获得日期名称,也可以通过日期名称获得数字值。
DayOfWeekDemo.java
import java.time.DayOfWeek;public class DayOfWeekDemo { public static void main(String[] args) { System.out.print(DayOfWeek.MONDAY.getValue()); System.out.println(DayOfWeek.of(1)); System.out.print(DayOfWeek.THURSDAY.getValue()); System.out.println(DayOfWeek.of(2)); System.out.print(DayOfWeek.SUNDAY.getValue()); System.out.println(DayOfWeek.of(7)); }}
输出
1MONDAY4TUESDAY7SUNDAY
java.time.Duration
是一个时间量。
例如,20
分钟是一个时间量,可以用Duration
类来表示。
DurationDemo.java
import java.time.Duration;import java.time.temporal.ChronoUnit;public class DurationDemo { public static void main(String[] args) { Duration duration = Duration.of(2, ChronoUnit.DAYS); System.out.println(duration.getSeconds()); System.out.println(Duration.ofHours(1).getSeconds()); System.out.println(Duration.ofDays(1).getSeconds()); }}
输出
172800360086400
java.time.Instant
与它的名字相同。
Instant
可以用来记录任何应用程序中的事件时间戳。
Instant
对象表示时间尺度上的瞬时点。
InstantDemo.java
import java.time.Clock;import java.time.Instant;public class InstantDemo { public static void main(String[] args) { Instant inst1 = Instant.now(); System.out.println(inst1.getEpochSecond()); Instant inst2 = Instant.EPOCH; System.out.println(inst1.isAfter(inst2)); Instant inst3 = Instant.now(Clock.systemUTC()); System.out.println(inst3.isAfter(inst1)); System.out.println(Instant.MAX.getNano()); System.out.println(Instant.MIN.getNano()); }}
输出
1409913547truefalse9999999990
转载地址:http://wlgsn.baihongyu.com/