java实现输入年月日,输出距今天还有多少天,星期几,是否为公历节日。
时间: 2023-06-24 21:07:32 浏览: 87
java代码-使用java解决输入某年某月某日 判断其是那一年的第多少天的问题
可以使用Java中的Calendar类来实现这个功能。具体实现步骤如下:
1. 创建Calendar对象,设置年月日。
2. 获取距离今天的天数,可以使用Calendar类的get方法获取对应的时间字段,然后使用Calendar类的getTimeInMillis方法获取两个日期的时间戳,再计算时间戳的差值得到天数。
3. 获取星期几,可以使用Calendar类的get方法获取星期几对应的时间字段。
4. 判断是否为公历节日,可以根据输入的日期判断是否为以下节日:
- 元旦节:1月1日
- 情人节:2月14日
- 劳动节:5月1日
- 儿童节:6月1日
- 国庆节:10月1日
判断方法可以使用if语句实现。
以下是实现代码示例:
```java
import java.util.Calendar;
import java.util.Date;
public class DateUtil {
// 判断是否为公历节日
public static boolean isHoliday(int month, int day) {
if (month == 1 && day == 1) { // 元旦节
return true;
} else if (month == 2 && day == 14) { // 情人节
return true;
} else if (month == 5 && day == 1) { // 劳动节
return true;
} else if (month == 6 && day == 1) { // 儿童节
return true;
} else if (month == 10 && day == 1) { // 国庆节
return true;
} else {
return false;
}
}
public static void main(String[] args) {
// 输入年月日
int year = 2022;
int month = 10;
int day = 1;
// 创建Calendar对象,设置年月日
Calendar calendar = Calendar.getInstance();
calendar.set(year, month - 1, day); // 月份从0开始,所以需要减1
// 获取距离今天的天数
Calendar now = Calendar.getInstance();
long diff = calendar.getTimeInMillis() - now.getTimeInMillis();
int days = (int) (diff / (24 * 60 * 60 * 1000));
// 获取星期几
int week = calendar.get(Calendar.DAY_OF_WEEK);
// 判断是否为公历节日
boolean isHoliday = isHoliday(month, day);
// 输出结果
System.out.println("距离今天还有" + days + "天");
System.out.println("星期" + (week - 1));
if (isHoliday) {
System.out.println("是公历节日");
} else {
System.out.println("不是公历节日");
}
}
}
```
阅读全文