以上例子用Date()
时间: 2024-10-16 07:18:15 浏览: 17
很抱歉,但在现代Java版本中,你应该避免直接使用`Date()`类来处理日期和时间,因为`java.util.Date`已经被标记为过时并且存在一些问题。从Java 8开始,推荐使用`java.time`包提供的新API,如`LocalDateTime`, `ZonedDateTime`, 和 `LocalDate`等。
如果你想继续使用`java.util.Date`,它实际上是从`Calendar`类派生出来的,但它的操作相对复杂且容易出错。例如,获取某一天的开始和结束时间应该这样做:
```java
import java.util.Calendar;
import java.util.Date;
// 获取当天的开始时间(00:00:00)
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 startDate = calendar.getTime();
// 获取当天的结束时间(23:59:59)
calendar.add(Calendar.DATE, 1); // 加1天
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999); // 减去一毫秒,防止整数溢出
Date endDate = calendar.getTime();
System.out.println("Start of the day: " + startDate);
System.out.println("End of the day: " + endDate);
```
然而,还是强烈建议切换到`java.time`库,因为它提供了更好的日期和时间处理功能,更直观且不容易出错。
阅读全文