用Java写一段代码,给定一个时间字段deadline(yyyyMM),判断是今天或昨天或昨天之前的
时间: 2024-03-24 10:40:25 浏览: 77
如何利用java得到当前的时间和前一天的时间编程资料
好的,以下是给定一个时间字段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,则表示是昨天,否则表示是昨天之前。最后,我们根据日期差值输出相应的结果。
阅读全文