Java中表示0点的确切时间格式或代码是怎样的?
- 后端开发
- 2025-09-27
- 7
在Java编程语言中,表示0点(即一天的开始)的方法有多种,具体取决于你想要表达的时间粒度,以下是一些常见的方法和解释:
使用LocalTime类
LocalTime类是Java 8中引入的,用于表示无日期的时间,要表示0点,你可以使用LocalTime的构造器,如下所示:
LocalTime midnight = LocalTime.of(0, 0);
或者,你也可以使用midnight常量:

使用Calendar类
Calendar类是Java中用于日历操作的类,要表示0点,你可以创建一个Calendar实例,并将其设置为当天的0点:
Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0);
使用Date类
Date类是Java中用于表示日期和时间的类,要表示0点,你可以创建一个Date实例,并将其设置为当天的0点:
Date date = new Date(); date.setHours(0); date.setMinutes(0); date.setSeconds(0); date.setMillis(0);
使用LocalDateTime类
LocalDateTime类结合了日期和时间,但要表示0点,你需要使用LocalTime来设置时间部分:

LocalDateTime midnight = LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT);
使用ZonedDateTime类
ZonedDateTime类是Java 8中引入的,用于表示带时区的日期和时间,要表示0点,你可以使用ZonedDateTime的构造器,如下所示:
ZonedDateTime zonedDateTime = ZonedDateTime.now().withHour(0).withMinute(0).withSecond(0).withNano(0);
或者,你也可以使用atStartOfDay方法:

ZonedDateTime zonedDateTime = ZonedDateTime.now().withHour(0).withMinute(0).withSecond(0).withNano(0).toLocalDate().atStartOfDay(ZoneId.systemDefault());
以下是一个表格,归纳了上述方法:
| 方法 | 代码示例 | 说明 |
|---|---|---|
| LocalTime | LocalTime.of(0, 0) | 使用LocalTime构造器 |
| LocalTime | LocalTime.MIDNIGHT | 使用LocalTime常量 |
| Calendar | Calendar.getInstance().set(...) | 使用Calendar类 |
| Date | new Date().set(...) | 使用Date类 |
| LocalDateTime | LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT) | 使用LocalDateTime |
| ZonedDateTime | ZonedDateTime.now().with(...) | 使用ZonedDateTime |
FAQs
Q1:Java中如何表示当天的0点?
A1:在Java中,你可以使用多种方法来表示当天的0点,包括使用LocalTime.of(0, 0)、LocalTime.MIDNIGHT、Calendar.getInstance().set(...)、new Date().set(...)、LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT)和ZonedDateTime.now().with(...)等方法。
Q2:Java中如何表示昨天的0点?
A2:要表示昨天的0点,你可以使用LocalDateTime.now().minusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(0)或ZonedDateTime.now().minusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(0)等方法,这些方法会从当前时间减去一天,然后设置时间为0点。