2. java编写一个日期提醒程序:(1) 具有倒计时功能,以及到期提醒功能 : 从键盘输入某人的生日(格式:月月-日日),计算并显示离此人生日还有多少天,或显示“今天是某人的生日”;(2) 输入一个入校日期,计算当前日期距离该日期多少年月日。
时间: 2024-12-08 14:16:14 浏览: 15
在Java中编写一个日期提醒程序可以使用`java.time`包下的`LocalDate`类和相关的日期计算功能。这里是一个简单的示例:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;
public class DateReminder {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 生日提醒部分
System.out.println("请输入某人的生日(格式:MM-DD):");
String birthDateStr = scanner.nextLine();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMdd");
LocalDate birthDate = LocalDate.parse(birthDateStr, formatter);
LocalDate currentDate = LocalDate.now();
long differenceInDays = ChronoUnit.DAYS.between(currentDate, birthDate);
if (differenceInDays == 0) {
System.out.println("今天是" + birthDateStr + "的生日!");
} else {
System.out.println("离" + birthDateStr + "的生日还有" + differenceInDays + "天。");
}
// 入学日期提醒部分
System.out.println("请输入某个入学日期(格式:MM-DD):");
String schoolStartDateStr = scanner.nextLine();
LocalDate schoolStartDate = LocalDate.parse(schoolStartDateStr, formatter);
int years = Years.yearsBetween(currentDate, schoolStartDate).getYears();
int months = Months.monthsBetween(currentDate, schoolStartDate).getMonths();
int days = Days.daysBetween(currentDate, schoolStartDate).getDays();
System.out.println("今天距离入学日期是" + years + "年" + months + "个月" + days + "天。");
scanner.close();
}
}
```
这个程序首先获取用户输入的生日和入学日期,然后分别计算当前日期到生日和入学日期的差值,并按天、月和年来展示。如果当前日期正好是输入的生日,则会显示“今天是某人的生日”。
阅读全文