搜档网
当前位置:搜档网 › 1582年日历图片

1582年日历图片

1582年日历图片
1582年日历图片

1582年日历图片

2.1实训说明

2.1.1 实验背景

日历是一种记载日期等相关信息的出版物,通常每页显示一日信息的叫日历,每页显示一个月信息的叫月历,每页显示全年信息的叫年历。从日历的诞生至今,它有多种的呈现形式,如挂历、台历、年历卡、电子日历、万年历等。

2.1.2 功能描述

在生活中,日历对于人们的旅程规划、行程安排和工作计划等有着重要的作用。下面将使用现阶段学习过的知识来实现年历的制作。具体需求如下所示:

?根据用户输入的年份输出对应的年历

?用户可输入年份的取值范围是1582~9999

?判断31天的月份(1月、3月、5月、7月、8月、10月、12月)

?判断30天的月份(4月、6月、9月、11月)

?实现闰年2月29天,平年2月28天的功能

?将日期按照对应的星期输出展示

?按照3行4列的方式展示给定年份的年历

?确定年历中每月的星期输出顺序为“日、一、二、三、四、五、六”

接下来对本阶段案例的实现思路进行系统的分析,将一个复杂的案例分解成多个阶段,逐一进行实现,具体如下图所示。

31天or30天or28天or29天平年普通年世纪年or闰年or判断判断③②判断①

④假设完成非周日的XX月1号前填充空白XX年1月1日对应的星期XX月1日为周日,用0表示计算⑤填充空白⑥制作年历实现思路图

从上图可以清晰的看到,实现年历的制作流程共分为6个阶段,第1阶段和第2阶段的判断是为了确定第3阶段2月份的天数,闰年2月份29天,平年28天。接着在第4阶段将每月的1日设置为周天,使用0表示,周一到周六分别使用1~6表示,循环输出年历。然后利用蔡勒公式计算用户给定年份的1月1日对应的星期。最后对每月1号不是周日的月份日期,在输出前进行空白填充。.

2.1.3 必备技术

(一)网页技术(HTML+CSS)

1.HTML网页构建的基本设计;

2.HTML网页样式的基本设计;

(二)PHP开发语言

1.变量

2.运算符

3.if语句

4.for语句

2.1.4 学时分配

实训课程学时安排可参考下表。

2.1.5 实训目标

1.熟练掌握if、for、逻辑运算符的使用。

2.掌握编程实现网页年历的生成。

2.2准备开发环境

本项目支持如下软件版本的运行环境:

?Apache 2.2~2.4

?PHP 5.3~7.1

等集成环境XAMPP、WampServer支持?

2.3实训任务描述

任务一:判断世纪年和普通年

【任务描述】

通常来讲,一百年是一个世纪,因此,只要用户给定的年份除以100,余数为0则表示该年份为世纪年,否则为普通年。

编写PHP文件calendar.php,具体代码如下所示。

2008表示位数字表示的年份,如2008在上述代码中,变量$year用于保存用户给出的4相等00,与是世纪年时,表达式“1998年。当$year$year % 100”的结果为年,1998表示行的提示语句。行提示语句,否则输出第7结果为真,则if语句判断为真,输出第5”的结果有两种情况,分% 1004值得一提的是,第行的判断语句中,表达式“$year

转,0别是0和任意正整数,而任意正整数在条件判断语句中会自动转换成布尔类型值true行

代码修改成如下形式。4~8换成false。因此,可以将第

在程序开发中,若在不考虑程序运行的复杂程度,两种方式都可以。但若是要减少程序运行的

复杂度,则建议使用第2种编写方式。任务二:判断闰年和平年【任务描述】闰年是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立具体如下:其中,的。补上时间差的年份为闰年。对于世纪年和普通年的闰年算法有所不同,的100余数不为0余数为?普通年闰年的判断条件,需要同时满足除以40且除以两种情况0余数不为32000400?世纪年闰年的判断条件,需要同时满足除以余数为且除以的两种情况PHP接下来,去掉上面输出的提示信息,添加确定是闰年还是平年的判断,继续编写.

文件calendar.php,具体代码如下。

行代码用于判断世纪年是否为7~93~5行代码用于判断普通年是否为闰年,第上述第判断后若只有一条执此外,if1闰年。当为闰年时将变量$leap的值设置,方便后面的判断。7~9行代码修

改成以下形式。”,因此可以将上述第3~5行和第行语句,则可以去掉“{}

任务三:判断每月最大的日期【任务描述】继续编写calendar.php文件,实现每月最大日期的判断。具体代码如下所示。

月时每月最大的日10月或12月、月、月、上述第3行代码用于判断13月、57月、8,其余的月份最29行用于判断2月在闰年时最大的日期为,普通年时为285~631期为,第30。大的日期则是行代码后添加以下代码,具体如下。9循环进行测试查看,在上述第for接着可以通过.

文件,效果如下图所示。从图中可以清晰的看出每个月共calendar.php在浏览器中运行有多少天,以及各个月份天数的差别。

任务四:输出年月日对应的日期【任务描述】分行输出年历1.

获取到每月共多少天后,接下来将每个月的日期按照星期的设置格式在表格中输出展7个日期一行的设计思路如下所示。示。其中,关于如何实现。1()根据需求分析,得到星期输出顺序为“日、一、二、三、四、五、六”表示星期一,依1位数字进行表示,0表示星期日,之间的(2)设定星期使用0~67 次类推。$w这里先假设为0(3)将用户给定年份的每月1日对应的星期变量若大,并判断$w的值是否大于61)在循环每月的日期时,(4动态为星期变量$w加,,重置为0。于6 且不是最后一天时,设置换行)当星期变量5$w等于6(文件,并去掉测试查看代码。在确定每月的最按照上面的设计思路,修改calendar.php日对应的星期。具体代码如下。1,用于保存假设的某年某月$w大日期后添加日期变量

行用10行用于循环每月的日期,第11上述第7~8行用于输出日历的标题和星期,第行用于在表格中实现换行,即结束当前行,并开始下一行。第于在表格中输出日期,第12 15行用于设置星期的变动。修改完成后,在浏览器中进行预览,效果如下图所示。

分行展示年历从上述的预览效果中可以看出,每月的日期按照星期的格式展示,但是每个日期对应的星期并不符合日期的算法。因此,接下来我们利用蔡勒公式计算出年月日对应的星期。2.按星期输出年历在完成对应星期的计算前,首先具体看一下蔡勒公式以及其涉及到的具体变量含义,具体如下。 y / 100 + y / 400) % 7

w = (d + 1 + 2 * m + 3 * (m + 1) / 5 + y + y / 4 –。这些变量的具和、、个变量,分别为在上述给出的蔡勒公式中,共出现了4wymd 体含义如下所示。.

?w:表示星期,其值取值范围是0~6,0表示星期日,1表示星期一,依次类推。

?y:4位数字表示的年份,其有效可以计算的范围是从1582年10月起。如2020表示2020年。?m:表示月份,其取值范围是3~14,3表示3月,4表示4月,依次类推。值得注意的是,在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算。如2020年1月10日将要看作2019年的13月1日来计算。

?d:表示日,其取值范围是1~31

了解蔡勒公式的规定后,删除calendar.php文件中设置的星期变量$w,在判断每月的日期前添加以下代码,具体如下:

)的运算/在上述代码中,在利用蔡勒公式计算年月日对应的星期时,对于执行除法(我们1号不是星期日时,要利用强制类型转换取整,防止出现小数的情况。其中,当某月的文件,添加填充空白的代码。具体calendar.php号输出前填充空白占位。继续编写需要在1实现如下。

行5行代码用于判断当前日期为上述第41号,且对应的星期不是星期日时,执行第如添加空白代码填充空白。这里是通过合并单元格的方式实现,当然还可以采用其他方式,占位符。样式,参考效果如图所示。CSS为了让年历的展示更加的精美,可按照个人喜好设置

相关主题