📅  最后修改于: 2023-12-03 15:23:09.781000             🧑  作者: Mango
在 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 中获取一个月的最后一个星期五。需要注意的是,这里我们假设了一个月中只会存在一个星期五,如果有多个星期五,这个程序只会返回最后一个星期五的日期。