我如何才能找到周六和周日在某一个月?个月、周日、在某一、六和

2023-09-06 13:56:36 作者:不归少年。

我要找到所有周六和周日在特定的月份。我该怎么办呢?

I want find all Saturdays and Sundays in A given month. How can I do so?

推荐答案

在简单的办法是只遍历该月的日子,检查一周的某一天为他们每个人。例如:

The simplest way is to just iterate over all the days in the month, and check the day of week for each of them. For example:

// This takes a 1-based month, e.g. January=1. If you want to use a 0-based
// month, remove the "- 1" later on.
public int countWeekendDays(int year, int month) {
    Calendar calendar = Calendar.getInstance();
    // Note that month is 0-based in calendar, bizarrely.
    calendar.set(year, month - 1, 1);
    int daysInMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

    int count = 0;
    for (int day = 1; day <= daysInMonth; day++) {
        calendar.set(year, month - 1, day);
        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
        if (dayOfWeek == Calendar.SUNDAY || dayOfweek == Calendar.SATURDAY) {
            count++;
            // Or do whatever you need to with the result.
        }
    }
    return count;
}

我的绝对保证的有这样做的更有效的方法 - 但是这就是我想要开始什么,以及优化的时候我会发现它太慢了

I'm absolutely sure there are far more efficient ways of doing this - but that's what I'd start with, and optimize when I'd found it's too slow.

请注意,如果你能使用约达时间这将使你的生活轻松了许多。 ..

Note that if you're able to use Joda Time that would make your life a lot easier...