当前位置: 首页 > 知识库问答 >
问题:

如何使用Java中的Calendar类查找一个月的第一个星期四?

薛晨
2023-03-14

我在这里找到了这个方法

public Date getLastFriday( int month, int year ) {
    Calendar cal = Calendar.getInstance();
    cal.set( year, month + 1, 1 );
    cal.add( Calendar.DAY_OF_MONTH, -(cal.get( Calendar.DAY_OF_WEEK ) % 7 + 1 ));
    return cal.getTime();
} 

我想要类似的功能,比如:

private Date getFirstThursday(Date now) {
    Calendar cal = Calendar.getInstance();
    cal.setTime(now);
    cal.add(Calendar.DAY_OF_MONTH, ???);
    return cal.getTime();
}

有人能帮我更换什么吗?以…为特点。

共有1个答案

暴乐邦
2023-03-14

试试这段代码:

private static Date getFirstThursday(Date now) {
  Calendar cal = Calendar.getInstance();
  cal.setTime(now);
  cal.set(Calendar.WEEK_OF_MONTH, 1);
  cal.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);

  return cal.getTime();
}
 类似资料:
  • 问题内容: 我想获取特定月份/年份中第一个星期一的日期。 我有的: 我基本上有两个int变量,一个代表年份,一个代表月份。 我想要的是: 我想知道本月的第一个星期一,最好是一个int或Integer值。 例如: 我有2014年和1月(1月),这个月的第一个星期一是6号,所以我想返回6。 问题: 我以为可以做到这一点,但是在设置日历(仅提供年和月)时已经遇到了麻烦。此外,我不确定如何使用返回实际的月

  • 我想知道特定月份/年份的第一个星期一的日期。 我所拥有的: 我基本上有两个int变量,一个代表年份,一个代表月份。 我想要的是: 我想知道这个月的第一个星期一,最好是整数或整数值。 例如: 我有2014年和1月,这个月的第一个星期一是6号,所以我想返回6号。 问题: 我原以为我可以用做到这一点,但我在设置日历时遇到了问题,因为只有年份和月份可用。此外,我不知道如何使用返回月份/年份的第一个星期一。

  • 问题内容: 如何使用PHP查找一个月中的第一个和最后一个日期?例如,今天是2010年4月21日。我想找到2010年4月1日和2010年4月30日。 问题答案: 最简单的方法是使用,它可以让您将硬编码的值与从时间戳提取的值进行混合。如果您不提供时间戳记,它将以当前日期和时间为准。 在给定的字符串(例如)中搜索特定的符号,并将其替换为时间戳中的值。因此,我们可以使用这些符号从时间戳中提取所需的值和格式

  • 问题内容: 我对此有些挣扎。 我想设置日历为: 2012年2月的第三个星期一。 而且我找不到使用Java进行此操作的任何方法。 例如,如果我想将日历设置为2011年圣诞节,则可以通过以下方式轻松实现: 但是我对于如何设置它(比如说2012年阵亡将士纪念日)感到困惑,那是5月的最后一个星期一。这是我的代码,但显然是错误的,因为我根本无法假设5月的最后一个星期一将在那年5月的第4周: 关于如何以编程方

  • 我有几十个积压的请求在处理中,比如 我已经有了一个每天都在运行的函数,我只需要将:位附加到end。 考虑公历和时区的细微差别,我花的时间越少,我的生活就越好。 有人知道简化这种计算的Java库吗?没有xml配置或框架或任何东西。只有一个。Jar和一个文档化的、可读的API将是完美的。 任何帮助都将不胜感激。

  • 问题内容: 可能是这样的: 但是可能存在更简单的方法吗?谢谢。 问题答案: 您走在正确的轨道上。 让我仅在星期一进行这项工作。