快速业务通道

用Java编写日历程序的思路 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21

用Java编写日历程序的思路

时间:2011-01-07 sundunjam

先显示一下结果:

用Java编写日历程序的思路 - 编程入门网

基本功能:

可以通过左右按钮来切换年月,并同时在其下方显示日期,并且对映相应星期数

使用语言:

纯Java语言

需要了解的辅助方面:

java.awt.*;

java.awt.event.*;

javax.swing.*;

------------------------------------

下面开始界面布局:

1.先要有最顶端的布局:用Java编写日历程序的思路 - 编程入门网,我们命名为calendar_ym

2.要有星期数列的布局:用Java编写日历程序的思路 - 编程入门网,我们命名为calendar_week

3.要有日期数列的布局:用Java编写日历程序的思路 - 编程入门网,我们命名为calendar_days

4.最后要有关闭的按钮:用Java编写日历程序的思路 - 编程入门网,我们命名为calendar_exit。

明确变量部分:

很明显,年月一定是要变得,而年月变化,必然引起日期的变化,即calendar_ym和calendar_days是变量组

用Java编写日历程序的思路(2)

时间:2011-01-07 sundunjam

难点部分:

困难的地方是,如何精确地计算出某年某月某日是星期几,这是一个很让人头疼的事情,下面给出一个公式:

星期计算公式

(年+年/4+年/400-年/100-年基数+月基数+日)/7=……余星期几

注:式中分数均取整

年基数,平年1,闰年2,

月基数,1、平年:一月0, 二月3, 三月3, 四月6, 五月1, 六月4,

七月0, 八月3, 九月5, 十月0, 十一月3, 十二月5.

2、闰年:一月0, 二月3, 三月4, 四月0, 五月2, 六月5,

七月0, 八月3, 九月6, 十月1, 十一月4, 十二月6.

如:1949年10月1日是星期几?

(1949+1949/4+1949/400-1949/100-1+0+1)/7

=(1949+487+4-19-1+0+1)/7

=345……6

即该日为星期六。

仔细观察我们发现,在确定星期数的过程中要判断该年是否为闰年,如下

判断闰年方法

1.能被4整除,且不能被100整除

2.能被100整除,且能被400整除

满足其中一个条件便是闰年

代码布局:

由上面的分析得知:

1.建立一个关于日期的类,我们称之为SDate,其方法全部为静态方法,如下:

boolean isLeap(int year); 判断该年是否为闰年

intfixDay(int year, int month);返回某年某月1日的星期数

int accountDays(int year,int month);返回某年某月的日期总数

2.建立日历表的类,我们称之为DateGrid,查看代码

本文出自 “博远至静” 博客,请务必保留此出处http://sunspot.blog.51cto.com/372554/126751

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号