⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calendarinfo.java

📁 长沙公交查询管理系统,主要实现对人员资料的管理以及车辆的分配路线。
💻 JAVA
字号:
/*此类是日历功能的实现*/
package pro;

import java.util.Calendar;

public class CalendarInfo
{
	/*声明所需组件*/
    private static Calendar calNow;
    
    private int mYear;
    private int mMonth;
    private int mDaysOfMonth;
    private int mFirstWeek;
    
    static
    {
        calNow = Calendar.getInstance();//获得系统当前日期    
    }
    
    public static int getNowYear()//获得年
    {
        return (calNow.get(Calendar.YEAR));
    }
    
    public static int getNowMonth()//获得月
    {
        return (calNow.get(Calendar.MONTH) + 1);
    }
    
    public CalendarInfo()//返回当前的年,月,日
    {
        mYear = getNowYear();
        mMonth = getNowMonth();
        mDaysOfMonth = getDaysOfMonth(mYear, mMonth);
        mFirstWeek = getFirstOfWeek(mYear, mMonth);
    }
    
    public CalendarInfo(int year, int month) throws Exception
    {
        mYear = year;
        if (month < 1 || month > 12)
        {
            throw (new Exception());
        }
        mMonth = month;
        mDaysOfMonth = getDaysOfMonth(mYear, mMonth);
        mFirstWeek = getFirstOfWeek(mYear, mMonth);
    }
    
    private int isLeapYear(int year)//判断是否是闰年
    {
        return (((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) ? 1 : 0);
    }
    
    private int getDaysOfMonth(int year, int month)
    {
        int[][] days = {{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
                        {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};
        return (days[isLeapYear(year)][month]);
    }
    
    private int getFirstOfWeek(int year, int month)//获得月第一日的星期
    {
        Calendar cal = Calendar.getInstance();
        cal.set(year, month - 1, 1);
        return (cal.get(Calendar.DAY_OF_WEEK) - 1);
    }
    
    public String toString()//覆盖toString 方法控制打印格式
    {
        String str = "\t\t\t" + mYear + "年" + mMonth + "月\n";
        str += "日\t一\t二\t三\t四\t五\t六\n";
        
        int i;
        for (i = 1; i <= mFirstWeek; i++)
        {
            str += " \t";
        }
        for (int j = 1; j <= mDaysOfMonth; j++, i++)
        {
            str += (j + "\t");
            if (i % 7 == 0)
            {
                StringBuffer sb = new StringBuffer(str);
                sb.setCharAt(sb.length() - 1, '\n');
                str = sb.toString();
            }
        }
        return (str);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -