第几周是该月的第几周吗? 还是该年的第几周?
下面的程序包含了2种情况, 请自行选择.
package com.calender;
import java.util.Calendar;
import java.util.Locale;
/**
* 输出某周的日期.
* 演示Calendar的用法.
* Calendar的使用一般分2步,
* 1.确定某天, 调用set函数
* 2.可以取出该天的任意信息, 通过get函数.
* @author: zhuby
* @create date:2011-1-17
*/
public class WeekCalendar {
/**
* 周计数,为全年中的周计数
* @param year
* @param weekCount
* @return
*/
public int[] getWeekDateByWeekInYear(int year,int weekCount){
Calendar cal=Calendar.getInstance(Locale.CHINA);
//设置calendar的日期,此处可以确定某一天
cal.set(Calendar.YEAR, year);
cal.set(Calendar.WEEK_OF_YEAR, weekCount);
//获取该天的信息(理论而言,通过改变get函数的参数,可以获取该天的任意信息)
int day=cal.get(Calendar.DAY_OF_YEAR);
int[] days=new int[7];
for(int i=0;i<7;i++){
days[i]=cal.get(Calendar.DAY_OF_MONTH);
// System.out.print((cal.get(Calendar.MONTH)+1)+"月"+cal.get(Calendar.DAY_OF_MONTH)+"日 ");
day++;
cal.set(Calendar.DAY_OF_YEAR, day);
}
return days;
}
/**
* 周计数为月中的周计数
* @param year
* @param month
* @param weekCount
* @return
*/
public int[] getWeekDateByWeekInMonth(int year,int month,int weekCount){
Calendar cal=Calendar.getInstance(Locale.CHINA);
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month-1);
cal.set(Calendar.WEEK_OF_MONTH, weekCount);
int day=cal.get(Calendar.DAY_OF_YEAR);
int[] days=new int[7];
for(int i=0;i<7;i++){
days[i]=cal.get(Calendar.DAY_OF_MONTH);
// System.out.print((cal.get(Calendar.MONTH)+1)+"月"+cal.get(Calendar.DAY_OF_MONTH)+"日 ");
day++;
cal.set(Calendar.DAY_OF_YEAR, day);
}
return days;
}
public static void main(String[] args) {
WeekCalendar wc=new WeekCalendar();
for(int i=0;i<7;i++){
System.out.print(wc.getWeekDateByWeekInYear(2011, 7)[i]+" ");
}
System.out.println();
for(int i=0;i<7;i++){
System.out.print(wc.getWeekDateByWeekInMonth(2011,4, 2)[i]+" ");
}
}
}
温馨提示:答案为网友推荐,仅供参考