java代码实现输入年月日,输出距今天还有多少天,星期几,是否为公历节日。
时间: 2023-06-24 14:07:30 浏览: 119
以下是实现输入年月日,输出距今天还有多少天,星期几和是否为公历节日的 Java 代码:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
public class DaysUntilToday {
public static void main(String[] args) {
// 输入年月日
int year = 2022;
int month = 1;
int day = 1;
LocalDate inputDate = LocalDate.of(year, month, day);
LocalDate today = LocalDate.now();
// 计算距今天还有多少天
long daysUntilToday = ChronoUnit.DAYS.between(inputDate, today);
System.out.println("距今天还有 " + daysUntilToday + " 天");
// 计算星期几
String dayOfWeek = inputDate.getDayOfWeek().toString();
System.out.println("星期" + dayOfWeek.substring(0, 1) + dayOfWeek.substring(1).toLowerCase());
// 判断是否为公历节日
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMdd");
String monthDay = inputDate.format(formatter);
switch (monthDay) {
case "0101":
System.out.println("元旦节");
break;
case "0214":
System.out.println("情人节");
break;
case "0401":
System.out.println("愚人节");
break;
case "0501":
System.out.println("劳动节");
break;
case "0611":
System.out.println("618购物节");
break;
case "1001":
System.out.println("国庆节");
break;
case "1224":
case "1225":
System.out.println("圣诞节");
break;
default:
System.out.println("不是公历节日");
break;
}
}
}
```
以上代码使用了 Java 8 中的 `LocalDate` 类来处理日期,使用 `ChronoUnit.DAYS.between()` 方法计算天数差距,使用 `getDayOfWeek()` 方法计算星期几,使用 `DateTimeFormatter.ofPattern()` 方法格式化月日,最后使用 `switch` 语句判断是否为公历节日。
阅读全文