Java 1.8 LocalTime 时间
一则或许对你有用的小广告
最近,小哈正在带小伙伴们做前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.2 + Vite 4
,手把手,前端 + 后端,全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已进入第七章 《文章分类模块开发》中,截止到目前,已更新 105150 字,69 篇内容,讲解图:521 张,还在持续爆肝中,后续还会上新更多项目,已有 200+ 小伙伴加入,欢迎点击围观。
1. 什么是 LocalTime?
LocalTime 是 Java 8 中用于处理时间的不可变类,它只包含时、分、秒和纳秒,而没有日期部分。注意,它没有时区信息,所以它代表的是一天中的某个时间。
2. 创建 LocalTime
创建 LocalTime 实例的最直接方式是使用它的静态工厂方法,比如 LocalTime.now():
import java.time.LocalTime;
public class Main {
public static void main(String[] args) {
// 获取当前时间
LocalTime now = LocalTime.now();
System.out.println(now);
}
}
我们还可以使用 of()
方法来创建一个具体时间:
LocalTime specificTime = LocalTime.of(12, 20, 45, 20);
System.out.println(specificTime);
上面的代码创建了一个表示 12 点 20 分 45 秒 20 纳秒的 LocalTime。
3. 获取时间信息
LocalTime 提供了一些方法来获取时间的信息,例如获取小时、分钟、秒和纳秒:
LocalTime now = LocalTime.now();
int hour = now.getHour();
int minute = now.getMinute();
int second = now.getSecond();
int nano = now.getNano();
System.out.println(hour);
System.out.println(minute);
System.out.println(second);
System.out.println(nano);
4. 修改时间
LocalTime 是不可变的,这意味着所有的修改操作都会返回一个新的 LocalTime 实例。例如,我们可以使用 plusHours()
、plusMinutes()
、plusSeconds()
和 plusNanos()
方法来增加时间:
LocalTime now = LocalTime.now();
LocalTime later = now.plusHours(3).plusMinutes(2).plusSeconds(1).plusNanos(10);
System.out.println(later);
我们也可以使用 minusHours()
、minusMinutes()
、minusSeconds()
和 minusNanos()
方法来减少时间。
5. 比较时间
我们可以使用 isBefore()
和 isAfter()
方法来比较两个 LocalTime:
LocalTime time1 = LocalTime.of(12, 30);
LocalTime time2 = LocalTime.of(13, 30);
System.out.println(time1.isBefore(time2)); // true
System.out.println(time1.isAfter(time2)); // false
6. 总结
Java 8 的 LocalTime 类为我们提供了一个简洁、强大的工具来处理时间。通过使用 LocalTime,我们可以更轻松地创建、修改和比较时间。希望这个教程可以帮助你理解 LocalTime,并在你的代码中找到它的应用场景。