java实现输入年月日,输出距今天还有多少天,星期几,是否为公历节日。
时间: 2023-06-24 15:07:02 浏览: 56
可以使用Java的日期时间库来实现这个功能。以下是一个示例程序:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
public class Main {
public static void main(String[] args) {
// 读取输入的年月日
int year = Integer.parseInt(args[0]);
int month = Integer.parseInt(args[1]);
int day = Integer.parseInt(args[2]);
// 构造LocalDate对象表示输入的日期
LocalDate inputDate = LocalDate.of(year, month, day);
// 计算距离今天还有多少天
LocalDate today = LocalDate.now();
long daysUntil = ChronoUnit.DAYS.between(today, inputDate);
// 输出距离今天还有多少天
System.out.println("距今天还有 " + daysUntil + " 天");
// 输出星期几
String weekday = inputDate.getDayOfWeek().toString();
System.out.println("星期" + weekday);
// 判断是否为公历节日(这里只列举了部分节日)
String holiday = "";
if (month == 1 && day == 1) {
holiday = "元旦";
} else if (month == 2 && day == 14) {
holiday = "情人节";
} else if (month == 3 && day == 8) {
holiday = "妇女节";
} else if (month == 4 && day == 1) {
holiday = "愚人节";
} else if (month == 5 && day == 1) {
holiday = "劳动节";
} else if (month == 6 && day == 1) {
holiday = "儿童节";
} else if (month == 9 && day == 10) {
holiday = "教师节";
} else if (month == 10 && day == 1) {
holiday = "国庆节";
} else if (month == 12 && day == 25) {
holiday = "圣诞节";
}
// 输出是否为公历节日
if (!holiday.equals("")) {
System.out.println("今天是" + holiday);
}
}
}
```
这个程序使用`LocalDate`类来表示日期,使用`ChronoUnit`类来计算日期间隔,使用`DateTimeFormatter`类来格式化日期字符串。在命令行中输入年月日参数,然后运行程序即可得到相应输出。