只用Calendar类来做
时间: 2024-11-06 08:12:29 浏览: 12
在Java中,如果你想要只使用`java.util.Calendar`类来处理日期和生日,可以按照以下步骤操作。不过需要注意的是,`java.time.LocalDate`是Java 8及以后版本推荐使用的日期时间API,而`Calendar`类更老一些,建议在实际项目中优先考虑`LocalDate`。
假设用户生日为1995年5月1日,以下是使用`Calendar`的示例代码:
```java
import java.util.Calendar;
import java.util.Date;
public class Main {
public static void main(String[] args) {
// 创建一个日期对象,代表用户生日
Calendar birthCalendar = Calendar.getInstance();
birthCalendar.set(1995, Calendar.JANUARY, 1); // 设置年份、月份和日子
birthCalendar.add(Calendar.MONTH, 4 - 1); // 减去1是因为January是0,所以五月是4
// 获取当前年份
int currentYear = Calendar.getInstance().get(Calendar.YEAR);
// 将生日转换到今年
birthCalendar.set(Calendar.YEAR, currentYear);
birthCalendar.set(Calendar.DAY_OF_MONTH, 1);
// 输出今年的生日是星期几
int dayOfWeek = birthCalendar.get(Calendar.DAY_OF_WEEK);
String dayOfWeekStr = DayOfWeek.values()[dayOfWeek - 1].name(); // 星期一对应值为1
System.out.println("今年的生日是:" + dayOfWeekStr);
// 类似地,计算大四毕业那年的生日
int graduationYear = currentYear - 3; // 假设大学毕业三年
birthCalendar.clear();
birthCalendar.set(graduationYear, Calendar.JANUARY, 1);
birthCalendar.add(Calendar.MONTH, 4 - 1);
int graduationDayOfWeek = birthCalendar.get(Calendar.DAY_OF_WEEK);
System.out.println("大四毕业那年的生日是:" + dayOfWeekStr);
}
}
```
这段代码首先创建了一个`Calendar`对象,然后设置了用户的生日。接着分别计算并输出了今年和大四毕业那年生日对应的星期。
阅读全文