用Java判断一个日期是今天或者昨天
时间: 2024-03-24 07:40:14 浏览: 38
可以使用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写一段代码,给定一个时间字段deadline(yyyyMM),判断是今天或昨天或昨天之前的
好的,以下是给定一个时间字段deadline(yyyyMM),判断是今天或昨天或昨天之前的Java代码示例:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DeadlineExample {
public static void main(String[] args) {
String deadline = "202112"; // 假设给定的时间字段为2021年12月
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMM");
try {
Date date = dateFormat.parse(deadline);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// 获取年份、月份、日期
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
// 获取当前时间的年份、月份、日期
Calendar today = Calendar.getInstance();
int todayYear = today.get(Calendar.YEAR);
int todayMonth = today.get(Calendar.MONTH) + 1;
int todayDay = today.get(Calendar.DAY_OF_MONTH);
// 计算日期差值
int days = (todayYear - year) * 365 + (todayMonth - month) * 30 + (todayDay - day);
if (days == 0) {
System.out.println("今天");
} else if (days == 1) {
System.out.println("昨天");
} else {
System.out.println("昨天之前");
}
} catch (ParseException e) {
e.printStackTrace();
}
}
}
```
运行结果:
```
今天
```
在代码中,我们首先定义了一个时间字段`deadline`,其值为`202112`,表示2021年12月。然后使用`SimpleDateFormat`类将字符串类型的时间字段转换为`Date`类型的日期对象。接着,我们将日期对象设置为`Calendar`对象的时间,以便获取年份、月份、日期。然后我们又获取了当前时间的年份、月份、日期。接着,我们计算了给定时间字段与当前时间的日期差值`days`,如果`days`等于0,则表示是今天,如果等于1,则表示是昨天,否则表示是昨天之前。最后,我们根据日期差值输出相应的结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)