简体   繁体   English

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

[英]How do I find find first Thursday in a month by using Calendar class in Java?

I found this method here: 我在这里找到此方法:

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();
} 

I want similar functionality like this: 我想要类似的功能:

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

Can anyone help what I should replace? 谁能帮我替换掉什么? Marked with. 标有。

Try this code: 试试这个代码:

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();
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM