java获取今天00:00:00到23:59:59 timestamp类型
时间: 2024-09-18 22:12:13 浏览: 31
在Java中,获取今天的00:00:00到23:59:59的`Timestamp`类型,通常可以按照以下步骤操作:
1. 首先获取当前的日期(Calendar类或LocalDate类),这可以通过`Calendar.getInstance().getTime()`或`LocalDate.now()`获得。
2. 设置时间部分为00:00:00,对于`Calendar`可以调用`set(Calendar.HOUR_OF_DAY, 0)`、`set(Calendar.MINUTE, 0)`、`set(Calendar.SECOND, 0)`和`set(Calendar.MILLISECOND, 0)`,对于`LocalDateTime`可以直接设置`toLocalTime(ZoneId.systemDefault()).withHour(0).withMinute(0).withSecond(0).withNano(0)`。
3. 将日期和时间组合成`Timestamp`,可以先转换为`Instant`(`ZonedDateTime`的成员),然后再转换为`Timestamp`,例如:
```java
import java.time.*;
import java.sql.Timestamp;
public class Main {
public static void main(String[] args) {
Instant startOfDay = ZonedDateTime.now(ZoneId.systemDefault())
.truncatedTo(ChronoUnit.DAYS)
.atStartOfDay()
.toInstant();
Timestamp todayTimestamp = Timestamp.from(startOfDay);
System.out.println("Today's timestamp: " + todayTimestamp);
}
}
```
这个代码片段会给你今天开始到结束的`Timestamp`。
阅读全文