在 Java8 中,LocalTime 类用于表示一天中的时间,不包含日期和时区信息,例如:15:30:00。
LocalTime 类提供了丰富的方法来操作和获取时间的相关信息,例如获取小时、分钟、秒等,以及进行时间的增加、减少、比较等操作。
以下是 LocalTime 类的一些常用方法介绍:
now() :获取当前系统默认时区的当前时间。
of(int hour, int minute, int second) :根据指定的小时、分钟和秒创建一个 LocalTime 对象。
getHour() :获取小时部分。
getMinute() :获取分钟部分。
getSecond() :获取秒部分。
getNano() :获取纳秒部分。
plusHours(long hours) :增加指定的小时数。
plusMinutes(long minutes) :增加指定的分钟数。
plusSeconds(long seconds) :增加指定的秒数。
plusNanos(long nanos) :增加指定的纳秒数。
minusHours(long hours) :减少指定的小时数。
minusMinutes(long minutes) :减少指定的分钟数。
minusSeconds(long seconds) :减少指定的秒数。
minusNanos(long nanos) :减少指定的纳秒数。
isBefore(LocalTime other) :判断当前时间是否在另一个时间之前。
isAfter(LocalTime other) :判断当前时间是否在另一个时间之后。
isEqual(LocalTime other) :判断当前时间是否与另一个时间相等。
下面示例将获取 LocalTime 中的时间信息,如:时、分、秒。例如:
package com.hxstrive.jdk8.date_time.localTime; import java.time.LocalTime; /** * LocalTime 类 * @author hxstrive.com */ public class LocalTimeDemo1 { public static void main(String[] args) { // 获取当前时间 LocalTime currentTime = LocalTime.now(); System.out.println("当前时间: " + currentTime); //当前时间: 11:10:00.433692400 // 指定时间创建 LocalTime specificTime = LocalTime.of(15, 30, 0); System.out.println("指定时间: " + specificTime); //指定时间: 15:30 // 获取小时 int hour = currentTime.getHour(); System.out.println("小时: " + hour); //小时: 11 // 获取分钟 int minute = currentTime.getMinute(); System.out.println("分钟: " + minute); //分钟: 10 // 获取秒 int second = currentTime.getSecond(); System.out.println("秒: " + second); //秒: 0 } }
下面示例将通过 plus**() 和 minus**() 方法对 LocalTime 实现增减操作,例如:
package com.hxstrive.jdk8.date_time.localTime; import java.time.LocalTime; /** * LocalTime 类 * @author hxstrive.com */ public class LocalTimeDemo2 { public static void main(String[] args) { // 获取当前时间 LocalTime currentTime = LocalTime.now(); System.out.println("当前时间: " + currentTime); //当前时间: 11:15:30.855564600 // 在当前时间上增加2小时 LocalTime localTime = currentTime.plusHours(2); System.out.println(localTime); //13:15:30.855564600 // 在当前时间上添加30分钟 localTime = currentTime.plusMinutes(30); System.out.println(localTime); //11:45:30.855564600 // 在当前时间上减去2小时 localTime = currentTime.minusHours(2); System.out.println(localTime); //09:15:30.855564600 // 在当前时间上减去30分钟 localTime = currentTime.minusMinutes(30); System.out.println(localTime); //10:45:30.855564600 } }
下面示例将介绍如何进行时间比较,例如:
package com.hxstrive.jdk8.date_time.localTime; import java.time.LocalTime; /** * LocalTime 类 * @author hxstrive.com */ public class LocalTimeDemo3 { public static void main(String[] args) { LocalTime time1 = LocalTime.of(12, 30, 10); LocalTime time2 = LocalTime.of(14, 10, 30); // 判断 time1 是否在 time2 之前 boolean isBefore = time1.isBefore(time2); System.out.println("time1 是否在 time2 之前: " + isBefore); //time1 是否在 time2 之前: true // 判断 time1 是否在 time2 之后 boolean isAfter = time1.isAfter(time2); System.out.println("time1 是否在 time2 之后: " + isAfter); //time1 是否在 time2 之后: false // 判断 time1 是否与 time2 相等 boolean isEqual = time1.equals(time2); System.out.println("time1 是否与 time2 相等: " + isEqual); //time1 是否与 time2 相等: false } }