Java中如何精确获取当前系统时间的小时与分钟?
- 后端开发
- 2025-09-15
- 6
在Java中,获取当前时间的小时和分钟可以通过多种方式实现,以下是一些常用的方法:
使用LocalTime类
LocalTime类是Java 8引入的日期和时间API的一部分,可以方便地获取当前时间的小时和分钟。

使用Calendar类
Calendar类是Java中处理日期和时间的传统方式,以下是使用Calendar类获取小时和分钟的方法:
import java.util.Calendar; public class Main { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); System.out.println("当前小时: " + hour); System.out.println("当前分钟: " + minute); } }
使用Date类和SimpleDateFormat类
Date类和SimpleDateFormat类也是Java中处理日期和时间的常用方式,以下是使用这些类获取小时和分钟的方法:
import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args) { Date now = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); String time = sdf.format(now); System.out.println("当前时间: " + time); } }
表格对比
下面是一个表格,对比了上述三种方法的优缺点:

| 方法 | 优点 | 缺点 |
|---|---|---|
| LocalTime | 简洁、易于理解、易于维护 | 需要Java 8或更高版本 |
| Calendar | 功能强大、兼容性好 | 代码复杂、难以理解 |
| Date和SimpleDateFormat | 兼容性好、易于理解 | 代码复杂、易出错 |
FAQs
Q1:Java中获取当前时间的小时和分钟,哪种方法最好?
A1:这取决于你的需求,如果你只需要获取当前时间的小时和分钟,并且需要简洁的代码,那么LocalTime类是最好的选择,如果你需要更多的日期和时间功能,或者需要与旧版本的Java代码兼容,那么Calendar类可能更适合你。

Q2:如何将小时和分钟格式化为两位数字?
A2:你可以使用String.format()方法或者SimpleDateFormat类来格式化小时和分钟为两位数字,以下是一个示例:
int hour = 5; int minute = 9; String formattedHour = String.format("%02d", hour); String formattedMinute = String.format("%02d", minute); System.out.println("格式化小时: " + formattedHour); System.out.println("格式化分钟: " + formattedMinute);
或者使用SimpleDateFormat:
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); String formattedTime = sdf.format(new Date()); System.out.println("格式化时间: " + formattedTime);