我说错了 我想使用java.util.Date获取今天0点和昨天0点的时间 代码应该怎么写
时间: 2024-03-01 09:54:49 浏览: 84
可以使用`java.util.Date`和`java.text.SimpleDateFormat`类来获取今天0点和昨天0点的时间。
获取今天0点的时间:
```java
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
String zeroTimeStr = sdf.format(date);
Date zeroTime = sdf.parse(zeroTimeStr);
```
获取昨天0点的时间:
```java
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DAY_OF_YEAR, -1);
String yesterdayZeroTimeStr = sdf.format(cal.getTime());
Date yesterdayZeroTime = sdf.parse(yesterdayZeroTimeStr);
```
这里的思路是先通过`SimpleDateFormat`类将当前时间格式化为字符串,然后再通过`parse()`方法将字符串解析为`Date`对象。对于获取昨天0点的时间,需要先将当前时间转换为`Calendar`对象,然后将天数减1,再将`Calendar`对象转换为字符串,最后再通过`parse()`方法将字符串解析为`Date`对象。
阅读全文