最新公告
  • 欢迎您光临码巴巴,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • Calendar 万年历java,GUIM,SWING

    public class myCalendar {
        
        //以下程序段是用来计算输入日期为该年的第几天的
        
        public static int cptDay(int year , int month , int day){
            byte dayadd[]={1,-2,1,0,1,0,1,1,0,1,0,1};	//用来存储每个月天数和30的差值
            int daycount = 0;	//这是天数daycount计数器,初始化为0
                for(int i=0; i<month-1; i++)
                    daycount+=(30+dayadd[i]);
                daycount+=day;
                return (month>2)?daycount+isLeap(year):daycount;
        }
    
        //闰年判定程序段,闰年返回1,平年返回0
        
        public static int isLeap(int year){
            if((year%400==0)||((year%4==0)&&(year%100!=0)))
                return 1;
            return 0;
        }
        
        //计算输入日期是星期几
        //采用了基姆拉尔森计算公式 
        //W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 
        //在公式中d表示日期中的日数,m表示月份数,y表示年数。
        //注意:在公式中有个与其他公式不同的地方: 
        //把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。 
        
        public static int getWeek(int year,int month,int day){
            if(month<3)
            { month+=12; year--;}
            return (day+2*month+3*(month+1)/5+year+year/4-year/100+year/400)%7;
        }
        
        //以下程序段是来计算输入日期为该年第几周的
        
        public static int weekCount(int year,int month,int day){
            int dayCnt = cptDay(year,month,day);
            int weekminus = getWeek(year,month,day)-getWeek(year,1,1);
            int weekCnt = 0;
            if(dayCnt%7==0) weekCnt = dayCnt/7+((weekminus>0)?1:0);
            else weekCnt = dayCnt/7+((weekminus>0)?2:1);
            return weekCnt;		
        }
        
        //打印万年历
        
        public static void printCal(int year){
            byte dayadd[]={0,1,-2,1,0,1,0,1,1,0,1,0,1}; //同样的,每月天数和30的差值,注意,dadadd[0]的0并没用到
            int wkpoint = getWeek(year,1,1);			//wkpoint用来指出当前日期的星期数		
            int t = 0;									//t用来作为一个标记器,解决闰年2月有29天的问题
            int bk = 0;									//bk用来记录需输空白的数目
            String week[]={"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
            for(int i=1;i<13;i++)
            {
                t = 0;
                bk = 0;
                if((i==2)&&(isLeap(year)==1)) 
                    t = 1;								//当且仅当闰年的2月份才将其置为1
                System.out.println("\n\n\t\t"+year+" 年 "+i+" 月\n");
                for(int j=0;j<7;j++)
                    System.out.print(week[j]+"\t");
                System.out.println();
                while(bk++<wkpoint)
                    System.out.print('\t');
                for(int j=1;j<=(30+dayadd[i]+t);j++)
                {
                    System.out.print(j+"\t");			//循环输出每月日期
                    if(wkpoint==6) 
                        { wkpoint = 0; System.out.print('\n');}  //当wkpoint计数器为6时将其置为0,并换行
                    else
                        wkpoint++;												
                }
            }
        }
        
        public static void main(String[] args){
            String week[]={"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
            System.out.println("输入的日期是该年的第"+cptDay(2009,2,15)+"天");
            System.out.println("这一天是该年的第"+weekCount(2009,2,15)+"周 "+week[getWeek(2009,2,15)]);
            printCal(2009);
        }
    }

    1.建工程导入eclipse ,或者idea

    2.点击左键 选择run as 选择java application

    3.效果图:

     

    1. 本站所有资源来源于用户上传和网络,如有侵权请及时联系站长!

    2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!

    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!

    5. 如有链接无法下载、失效或广告,请联系管理员处理!

    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

    7. 如遇到加密压缩包,默认解压密码为"mababa.xin",如遇到无法解压的请联系管理员!


    码巴巴-优质代码创造者 » Calendar 万年历java,GUIM,SWING

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    一个高级程序员模板开发平台
    问问管理员?

    发表评论

    • 44会员总数(位)
    • 92资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 1483稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    升级SVIP尊享更多特权立即升级