用Java判断一个日期是今天或者昨天
时间: 2024-03-24 09:40:14 浏览: 359
可以使用Java的日期时间API,通过获取当前时间和给定日期的时间差来判断日期是否为今天或者昨天。以下是一个示例代码:
```java
// 获取当前日期和时间
LocalDateTime now = LocalDateTime.now();
// 获取给定日期的年月日
LocalDateTime date = LocalDateTime.of(2021, 8, 23, 10, 30);
// 计算时间差
Duration duration = Duration.between(date, now);
// 判断是否为今天或者昨天
if (duration.toDays() == 0) {
System.out.println("给定日期为今天");
} else if (duration.toDays() == 1) {
System.out.println("给定日期为昨天");
} else {
System.out.println("给定日期不是今天也不是昨天");
}
```
在上面的代码中,我们首先获取当前日期和时间,然后通过`LocalDateTime`类创建给定日期的对象。接着使用`Duration`类计算时间差,`toDays()`方法返回时间差的天数。如果天数为0,则为今天,如果为1,则为昨天。
相关问题
java获取一年所有日期,假设是当前年精确到昨天
可以使用Java中的Calendar类来获取一年所有日期,代码示例如下:
```java
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Main {
public static void main(String[] args) {
// 获取当前日期
Calendar calendar = Calendar.getInstance();
// 获取当前年份
int year = calendar.get(Calendar.YEAR);
// 创建SimpleDateFormat对象,设置日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 循环遍历一年的日期
for (int i = 1; i <= 365; i++) {
// 设置Calendar对象的日期
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.DAY_OF_YEAR, i);
// 判断日期是否小于当前日期
if (calendar.getTime().before(new Date())) {
// 格式化日期并输出
String dateStr = sdf.format(calendar.getTime());
System.out.println(dateStr);
}
}
}
}
```
上述代码中,首先获取当前日期和当前年份,然后创建SimpleDateFormat对象,用于格式化日期。接着循环遍历一年的日期,设置Calendar对象的日期,并判断日期是否小于当前日期。如果小于当前日期,则格式化日期并输出。由于我们需要获取一年所有日期,所以循环365次。
Java如何判断LocalDateTime是昨天
在Java中,你可以使用`LocalDateTime`类以及它的`minusDays()`和`isBefore()`方法来判断当前日期是否是前一天。下面是一个示例:
```java
import java.time.LocalDateTime;
import java.time.ZoneId;
public class Main {
public static void main(String[] args) {
// 获取当前日期
LocalDateTime now = LocalDateTime.now(ZoneId.systemDefault());
// 减去一天
LocalDateTime yesterday = now.minusDays(1);
// 判断是否为昨天
if (yesterday.isBefore(now)) {
System.out.println("现在是昨天之后,所以昨天就是" + yesterday);
} else {
System.out.println("现在不是昨天,昨天是" + yesterday);
}
}
}
```
在这个例子中,如果当前时间大于`yesterday`,那么`yesterday`就是前天;反之则是昨天。
阅读全文