Java LocalTime 介绍

LocalTime 是一个不可变的类和线程安全的,用于表示时间,通常被视为小时 - 分秒。时间表示为纳秒精度。例如,值“13:45.30.123456789”可以存储在 LocalTime 中。

此类不存储或表示日期或时区。相反,它是对挂钟上所见的当地时间的描述。如果没有附加信息(如偏移或时区),它不能代表时间线上的瞬间。这是一个基于值的类,equals 方法应该用于比较。

字段

MAX - 支持的最大 LocalTime,‘23:59:59.999999999’。MIDNIGHT,MIN,NOON

重要的静态方法

now(),now(Clock clock),now(ZoneId zone),parse(CharSequence text)

重要的实例方法

isAfter(LocalTime other),isBefore(LocalTime other),减去(TemporalAmount amountToSubtract),减去(long amountToSubtract,TemporalUnit unit),加上(TemporalAmount amountToAdd),加上(long amountToAdd,TemporalUnit unit)

ZoneId zone = ZoneId.of("Asia/Kolkata");
LocalTime now = LocalTime.now();
LocalTime now1 = LocalTime.now(zone);
LocalTime then = LocalTime.parse("04:16:40");

可以通过以下任何方式计算时间差

long timeDiff = Duration.between(now, now1).toMinutes();
long timeDiff1 = java.time.temporal.ChronoUnit.MINUTES.between(now2, now1);

你还可以从 LocalTime 的任何对象添加/减去小时,分钟或秒。

minusHours(long hoursToSubtract),minusMinutes(long hoursToMinutes),minusNanos(long nanToSubtract),minusSeconds(long secondsToSubtract),plusHours(long hoursToSubtract),plusMinutes(long hoursToMinutes),plusNanos(long nanosToSubtract),plusSeconds(long secondsToSubtract)

now.plusHours(1L);
now1.minusMinutes(20L);