java 如何计算今天是一年中的第几周

请高手给出代码

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class DateUtil {

/**
*
* @param year 年份
* @param month 月份
* @param weekOfMonth 这个月的第几周
* @param dayOfWeek 星期几
* @return
*/
public static String weekdatetodata(int year,int month,int weekOfMonth,int dayOfWeek){
Calendar c = Calendar.getInstance();
//计算出 x年 y月 1号 是星期几
c.set(year, month-1, 1);

//如果i_week_day =1 的话 实际上是周日
int i_week_day = c.get(Calendar.DAY_OF_WEEK);

int sumDay = 0;
//dayOfWeek+1 就是星期几(星期日 为 1)
if(i_week_day == 1){
sumDay = (weekOfMonth-1)*7 + dayOfWeek+1;
}else{
sumDay = 7-i_week_day+1 + (weekOfMonth-1)*7 + dayOfWeek +1;
}
//在1号的基础上加上相应的天数
c.set(Calendar.DATE, sumDay);
SimpleDateFormat sf2 = new SimpleDateFormat("yyyy-MM-dd");
return sf2.format(c.getTime());
}
public static void main(String[] args) {
//2009年1月 第二周星期三 得到2009-01-14
System.out.println(weekdatetodata(2009, 1, 2, 3));
//2009年2月 第二周星期三 得到2009-02-11
System.out.println(weekdatetodata(2009, 2, 2, 3));
//2009年4月 第二周星期三 得到2009-04-15
System.out.println(weekdatetodata(2009, 4, 2, 3));
//2009年2月 第三周星期四 得到2009-02-19
System.out.println(weekdatetodata(2009, 2, 3, 4));
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-20
Calendar cal=Calendar.getInstance();
cal.setTime(new Date());
cal.get(Calendar.WEEK_OF_YEAR);本回答被提问者采纳
第2个回答  2011-09-20
Calendar.getInstance().get(Calendar.WEEK_OF_YEAR)
第3个回答  2020-08-15
2020年8月15号
相似回答