📌  相关文章
📜  在 Java 中获取一个月的最后一个星期五(1)

📅  最后修改于: 2023-12-03 15:23:09.781000             🧑  作者: Mango

在 Java 中获取一个月的最后一个星期五

在 Java 中,获取一个月的最后一个星期五可以使用 Calendar 类和 Date 类来实现。以下是一段可供参考的 Java 程序代码:

import java.util.Calendar;
import java.util.Date;

public class LastFridayOfMonth {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        int year = 2022;
        int month = Calendar.DECEMBER;
        calendar.set(year, month, 1);

        int lastDayOfMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
        calendar.set(Calendar.DAY_OF_MONTH, lastDayOfMonth);

        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
        int daysToFriday = Calendar.FRIDAY - dayOfWeek;
        if (daysToFriday < 0) {
            daysToFriday += 7;
        }
        calendar.add(Calendar.DAY_OF_MONTH, daysToFriday);

        Date lastFridayOfMonth = calendar.getTime();
        System.out.println("最后一个星期五是 " + lastFridayOfMonth.toString());
    }
}
解释

这个程序首先获取当前日历对象实例,然后设置年份和月份,这里使用了 Calendar 的常量来指定月份。然后,程序获取指定月份的最后一天的日期,使用 calendar.getActualMaximum(Calendar.DAY_OF_MONTH) 方法来获取。

通过设置日历对象的 DAY_OF_MONTH 字段为最后一天日期,我们可以得到最后一天是星期几,也就是 dayOfWeek。接下来,我们计算到星期五还有多少天,如果到星期五的天数小于 0,我们就加上 7。最后,我们通过 calendar.add(Calendar.DAY_OF_MONTH, daysToFriday) 方法来将日历对象设置为最后一个星期五的日期。

最后,我们通过 calendar.getTime() 方法来获取最后一个星期五的日期对象,然后使用 toString() 方法将其转化为字符串格式便于输出。

结论

通过上述代码,我们可以在 Java 中获取一个月的最后一个星期五。需要注意的是,这里我们假设了一个月中只会存在一个星期五,如果有多个星期五,这个程序只会返回最后一个星期五的日期。