当前位置: 首页 > 面试题库 >

如何找到给定月份的周六和周日?

邵君植
2023-03-14
问题内容

我想查找给定月份中的所有星期六和星期日。我该怎么办?


问题答案:

最简单 的方法是只迭代所有在一个月的日子里,检查一周的某一天为他们每个人。例如:

// 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;
}

绝对可以确定 ,这样做的方式要高效得多-但这就是我的出发点,当发现速度太慢时进行优化。

请注意,如果您能够使用Joda Time,那将使您的生活更加轻松…



 类似资料:
  • 在给定年、月和周的情况下,是否有可能获得一周中第一个日期的DAYOFMONTH? 请注意,一周的第一个日期也可能是前一个月,甚至是前一年。 我知道这是可以通过编程实现的,至少使用java。时间、时间场等。。但我想在sql查询级别上这样做,因为当涉及周时,过程中会涉及两个额外的参数,即被视为一周的第一天的DayOfWeek和一个月内一周的最小天数。如果sql和api上的配置不完全相同,则可能会导致不

  • 问题内容: 我想获得任何一年中的周数。即使被接受为全球通用的答案,对于日历,而实际上有几个星期。 有什么方法可以计算出来,或者有什么函数可以帮助我? 问题答案: 根据维基百科关于ISO周日期格式的文章,您可以使用以下代码进行计算。 更新: 似乎来自@Samuel的答案更好,并且没有Luca提到的错误 快速一线:

  • 问题内容: 我需要找到给定月份和年份的所有周末日期。 例如:对于01(月),2010(年),输出应为:所有周末日期:2,3,9,10,16,17,23,24,30,31。 问题答案: 这是带有描述步骤的注释的粗略版本:

  • 我有这样的复选框: 例如,如果选择周一、周三、周五、周六、周日。返回周一、周三、周五-周日 例如,如果选择Sat, Sun.返回Sat-Sun 例如,如果选择Mon, Tue, Thu, Sat, Sun返回Mon, Tue, Thu, Sat, Sun 我该如何实现这一点?这可能吗?

  • 问题内容: 以下是我用来计算给定月份的星期开始日期和结束日期的代码。假设周开始日期为MONDAY,周结束日期为SUNDAY。例如,2013年1月将有5个星期。如果月份从星期日开始- 忽略该天 2013年1月第一周-2012年12月31日至2013年1月6日第二周-2013年1月7日至2013年1月13日第三周-2013年1月14日至2013年1月20日第四周-21日-2013至2013年1月27日

  • 问题内容: 我想查找给定月份和年份的总天数。示例:我想 查找年份= 2015,月份= 7的总天数 问题答案: 首先NSDate为给定的年份和月份创建一个: 然后使用该rangeOfUnit()方法,如 使用iPhone SDK的当月天数中所述? Swift 3(Xcode 8)更新: