java判断日期周末节假日
时间: 2023-08-22 15:07:17 浏览: 104
判断日期是否是周末很简单,可以使用Java中的Calendar类的get方法获取日期对应的星期几,然后判断是否是周六或周日即可。代码如下:
```
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
if (dayOfWeek == Calendar.SATURDAY || dayOfWeek == Calendar.SUNDAY) {
// 是周末
}
```
判断日期是否是节假日比较复杂,需要获取节假日列表并进行匹配。可以使用第三方的节假日API来实现,或者自己编写代码实现。以下是自己编写代码实现的思路:
1. 获取节假日列表,可以存储在文件中或者数据库中。
2. 根据日期获取对应的年份,然后查询该年份的节假日列表。
3. 判断日期是否在节假日列表中,如果在则说明是节假日。
代码如下:
```
// 读取节假日列表,这里以读取文件为例
List<Date> holidayList = new ArrayList<>();
try {
BufferedReader reader = new BufferedReader(new FileReader("holiday.txt"));
String line;
while ((line = reader.readLine()) != null) {
holidayList.add(new SimpleDateFormat("yyyy-MM-dd").parse(line));
}
reader.close();
} catch (IOException | ParseException e) {
e.printStackTrace();
}
// 判断日期是否是节假日
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int year = calendar.get(Calendar.YEAR);
for (Date holiday : holidayList) {
Calendar c = Calendar.getInstance();
c.setTime(holiday);
if (c.get(Calendar.YEAR) == year && c.get(Calendar.MONTH) == calendar.get(Calendar.MONTH)
&& c.get(Calendar.DAY_OF_MONTH) == calendar.get(Calendar.DAY_OF_MONTH)) {
// 是节假日
break;
}
}
```
阅读全文