Java 算出一个月第一个工作日
时间: 2024-02-23 17:03:59 浏览: 22
可以使用Java中的Calendar类来实现。以下是示例代码:
```java
import java.util.Calendar;
public class FirstWorkdayOfMonth {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, 1); // 设置日期为当月第一天
while (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY ||
cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
// 如果是周六或周日,则将日期向后推一天
cal.add(Calendar.DATE, 1);
}
System.out.println("本月第一个工作日是:" + cal.get(Calendar.DAY_OF_MONTH));
}
}
```
该代码会输出本月第一个工作日的日期。
相关问题
写一个查询上个月第二个工作日的java算法
以下是一个查询上个月第二个工作日的Java算法示例:
```java
import java.time.LocalDate;
import java.time.DayOfWeek;
public class LastMonthSecondWorkingDay {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
LocalDate lastMonth = today.minusMonths(1);
LocalDate secondLastMonthDay = lastMonth.withDayOfMonth(2);
DayOfWeek dayOfWeek = secondLastMonthDay.getDayOfWeek();
if (dayOfWeek == DayOfWeek.SATURDAY) {
secondLastMonthDay = secondLastMonthDay.plusDays(2);
} else if (dayOfWeek == DayOfWeek.SUNDAY) {
secondLastMonthDay = secondLastMonthDay.plusDays(1);
}
System.out.println("上个月第二个工作日是:" + secondLastMonthDay);
}
}
```
该算法的实现思路是:
1. 获取当前日期。
2. 获取上个月的日期。
3. 设置日期为上个月的第二天。
4. 判断该日期是否为周末,如果是,将日期调整到下一个工作日。
5. 输出结果。
需要注意的是,该算法中判断周末的方式是使用了Java 8中的DayOfWeek枚举类型,需要确保使用的Java版本支持该枚举类型。
JAVA获取当前日期的第一个工作日
可以使用Java中的Calendar类和Date类来获取当前日期的第一个工作日。以下是一个示例代码:
```java
import java.util.Calendar;
import java.util.Date;
public class FirstWorkingDay {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
Date date = new Date();
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
int daysToAdd = 0;
if(dayOfWeek == Calendar.SATURDAY){
daysToAdd = 2;
} else if(dayOfWeek == Calendar.SUNDAY){
daysToAdd = 1;
}
calendar.add(Calendar.DAY_OF_MONTH, daysToAdd);
date = calendar.getTime();
System.out.println("当前日期的第一个工作日是:" + date);
}
}
```
这段代码中,首先获取当前日期,并将其设置到Calendar对象中。然后获取当前日期是星期几,如果是周六,则需要加2天才能得到第一个工作日,如果是周日,则需要加1天。最后加上相应的天数后,即可得到当前日期的第一个工作日。