package test;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class test {
public static void main(String[] args) {
String yMonth="2014-06";//传入参数:年月 ? 通过年获取全年的日期,通过月获取当月日期
if(yMonth==null || "".equals(yMonth)){yMonth=new SimpleDateFormat("yyyy-MM").format(new Date());}
String[] ym=yMonth.split("-");
Calendar thisMonth = Calendar.getInstance();
int year= Integer.valueOf(ym[0]);
for (int i = 0; i < 12; i++) {
thisMonth.clear();
thisMonth.set(Calendar.YEAR, year);
thisMonth.set(Calendar.MONTH, i);
int maxIndex = thisMonth.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(i+1+"月总天数:"+maxIndex);
for (int j = 1; j < maxIndex+1; j++) {
thisMonth.set(Calendar.DATE, j);
thisMonth.setFirstDayOfWeek(Calendar.MONDAY);
int week=thisMonth.get(Calendar.DAY_OF_WEEK);
System.out.println(ym[0]+"年"+(i+1)+"月"+j+"日 星期"+(week==1?7:week-1));
if(ym[1].equals((i+1)+"")){
System.out.println("当月日期");
}
}
}
}
}
输出效果
1月总天数:31
2014年1月1日 星期3
2014年1月2日 星期4
2014年1月3日 星期5
2014年1月4日 星期6
2014年1月5日 星期7
2014年1月6日 星期1
2014年1月7日 星期2
2014年1月8日 星期3
2014年1月9日 星期4
2014年1月10日 星期5
2014年1月11日 星期6
.........
2月总天数:28
2014年2月1日 星期6
2014年2月2日 星期7
2014年2月3日 星期1
2014年2月4日 星期2
2014年2月5日 星期3
2014年2月6日 星期4
.....