请选择年份;2003
请选择月份; 2                平年和闰年显示 计算输入的月份到1900年的天数
星期日 星期一 星期二 星期三   星期四   星期五   星期六                1       2       3         4       5      
   6     7     8       9       10        11      12
  13     14    15      16      17        18      19
  20     21    22      23      24        25      26
  27     28    29      30      31

解决方案 »

  1.   

    http://zhidao.baidu.com/question/129331310.html改一个不就差不多了
      

  2.   

    Donde Voy Java 群组
    1号: 82085373
    2号: 55191814
    3号: 89238748
    4号: 56418364
    5号: 157181129
    6号: 74671714请勿重复加群......
      

  3.   


    import   java.text.*; 
    import   java.util.*; .... SimpleDateFormat   df   =   new   SimpleDateFormat( "yyyy-MM-dd "); 
    Date   d1   =   df.parse( ""); 
    Date   d2   =   df.parse( ""); long   dt   =   d2.getTime()   -   d1.getTime(); 
    long   days   =   dt   /   (3600   *   24) 
    if   (dt   %   (3600   *   24)   >   0)   days++;
      

  4.   

    package 自我练习.对象操作;public class Calendar
    {
    int year;  //年  2010
    int month; //月  6

    //显示日历
    public void show()
    {
    int days=this.getDays(year, month);

    int weekday=this.getWeekday(); //假设1号是星期三

    System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");

    //控制输出1号之前的空格
    for(int i=1;i<=weekday;i++)
    {
    System.out.print("\t");
    }

    //输出每一天
    for(int i=1;i<=days;i++)
    {
    System.out.print(" " + i +"\t");

    if((weekday+i)%7==0)
    {
    System.out.print("\n");
    }
    }
    }

    //判断是否是闰年
    public boolean isLeapYear(int year)  //year=2010
    {
    if(year%4 ==0 && year%100!=0 || year%400==0)
    {
    return true;
    }
    else
    {
    return false;
    }

    }

    //得到某年某月的天数
    public int getDays(int year,int month)
    {
    int days=0;

    if(month==1 ||month==3 || month==5 ||month==7 ||month==8 ||month==10 ||month==12 )
    {
    days=31;
    }
    else if (month==4 ||month==6 || month==9 ||month==11)
    {
    days=30;
    }
    else if (month==2)
    {
    if(year%4 ==0 && year%100!=0 || year%400==0)
    {
    days=29;
    }
    else
    {
    days=28;
    }
    }

    return days;
    }

    //计算距1900-1-1的总天数
    public int sumDays()
    {
    int sumDays=0; //距1900年1月1日相差的天数

    for(int i=1900;i<year;i++) // 在这的i表示,相差的年份变化
    {
    if(isLeapYear(i)==true)
    {
    sumDays=sumDays+366;
    }
    else
    {
    sumDays=sumDays+365;
    }
    }

    for(int i=1;i<month;i++) // 在这的i表示,零几个月的变化
    {
    sumDays=sumDays+getDays(year, i);

    }

    return sumDays;

    }

    //(相差的天数+1)%7 ,1号是星期几
    public int getWeekday()
    {
    int weekday=(sumDays()+1)%7;

    return weekday;
    }}
      

  5.   


    package DK_Date;import java.util.Date;public class DK_Date {    public int Year; // 年份
        public int Month; // 月份
        public int Day; // 日期
        public int Days; // 当月有几天
        public int Week; // 当月第一天为周几    public void getCurDate() {
            Date date = new Date();        this.Year = date.getYear() + 1900;
            this.Month = date.getMonth() + 1;
            this.Day = date.getDate();
        }    /**
         * 判断是否为闰年
         * 
         * @param year
         * @return 如果为真则为闰年,反之为平年
         */
        public boolean isRun(int year) {
            if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0 )
                return true;
            return false;
        }    /**
         * 计算当月天数
         * 
         * @param month
         *            月份
         * @param year
         *            年份
         */
        public void getDays(int month, int year) {
            switch (month) {
            case 2:
                if (isRun(year))
                    this.Days = 29;
                else
                    this.Days = 28;
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                this.Days = 30;
                break;
            default:
                this.Days = 31;
                break;
            }
        }    /**
         * 计算当月第第一天是一年中的第几天
         * 
         * @param month
         * @param year
         * @return
         */
        public int getYearDays(int month, int year) {
            int days = 1;
            for (int i = 1; i < month; i++) {
                switch (i) {
                case 2:
                    if (isRun(year))
                        days += 29;
                    else
                        days += 28;
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    days += 30;
                    break;
                default:
                    days += 31;
                    break;
                }
            }
            return days;
        }    /**
         * 计算1900年到当年1月1日经过了多少天
         * 
         * @param year
         *            当前年份
         * @return
         */
        public int getYearsDay(int year) {
            int days = 0;
            for (int i = 1900; i < year; i++) {
                if (isRun(i))
                    days += 366;
                else
                    days += 365;
            }
            return days;
        }    /**
         * 计算当月第一天为周几
         * 
         * @param year
         *            年份
         * @param month
         *            月份
         */
        public void getWeek(int year, int month) {
            int days = getYearsDay(year) + getYearDays(month, year);
            this.Week = days % 7 == 0 ? 7 : days % 7;
        }
    }
    package DK_Date;import java.util.Scanner;public class DateUI {    private DK_Date date;
        Scanner scanner = new Scanner(System.in);    public void initial() {
            date = new DK_Date();
            date.getCurDate();
            date.getWeek(date.Year, date.Month);
            date.getDays(date.Month, date.Year);
        }    public void show() {
            System.out.println("◆◇◆◇◆◇    DK 万年历    ◆◇◆◇◆◇\n");
            System.out.println("北京时间:" + date.Year + "年" + date.Month + "月"
                    + date.Day + "日\n");
            getShow(date.Week, date.Days);
            while (true) {
                System.out.println("\n请输入年份:");
                date.Year = scanner.nextInt();
                System.out.println("请输入月份:");
                date.Month = scanner.nextInt();
                date.getWeek(date.Year, date.Month);
                date.getDays(date.Month, date.Year);
                getShow(date.Week, date.Days);
            }
        }    public void getShow(int week, int days) {
            System.out.println("周日\t周一\t周二\t周三\t周四\t周五\t周六\t");
            if (week != 7) {
                for (int i = 0; i < week; i++) {
                    System.out.print("\t");
                }
            }
            for (int i = 1; i <= days; i++) {
                System.out.print(i + "\t");
                if (i % 7 == 7 - week) {
                    System.out.println();
                }
            }
        }
    }package DK_Date;public class Start {    public static void main(String[] args)
        {
            DateUI date = new DateUI();
            date.initial();
            date.show();
        }
    }