在 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
}
}