首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

新手求帮助。月历的有关问题

2013-04-27 
新手求帮助。。。月历的问题//月历import java.util.Date import java.util.Calendarimport java.text.Simp

新手求帮助。。。月历的问题

//月历
import java.util.Date; 
import java.util.Calendar;
import java.text.SimpleDateFormat;

public class MonthlyCalendar {

/**
 * @param args
 */
 public static boolean isLeapYear(int year)   //判断指定年份是否闰年,静态方法
    {
        return year%400==0 || year%100!=0 && year%4==0;
    }
 public static int daysOfMonth(int year, int month) //返回指定年月的天数,静态方法
    {
        switch (month)                           //计算每月的天数
        {
            case 1: case 3: case 5: case 7: case 8: case 10: case 12:  return 31; 
            case 4: case 6: case 9: case 11:  return 30;
            case 2:  return isLeapYear(year)?29:28;
            default: return 0;
        }
    }
public String toString()
{
Calendar now=Calendar.getInstance();
int year=now.get(Calendar.YEAR);
int month=now.get(Calendar.MONTH)+1;
now.set(year, month-1, 1);
int week=now.get(Calendar.DAY_OF_WEEK)-1;
String str=year+"年"+month+"月的月历\n      日      一      二      三      四      五      六\n";
str+=String.format("%"+4*week+"c",' ');
int days= daysOfMonth(year,month);
for(int i=1;i<=days;i++)
{
str+=String.format("%4d", i);
if((week+i)%7==0)
str+="\n";
}
return str;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy 年 MM 月 dd 日 EEEEE a hh 时 mm 分 ss 秒");
        System.out.println(sdf.format(new Date()));
        System.out.println(new MonthlyCalendar().toString());
}

}
[解决办法]
你想问什么?

Calendar.MONTH 取值 0-11 分别代表 1月到12月
Calendar.DAY_OF_WEEK 取值 1-7 分别代表 星期日到星期六

热点排行