日历控件的实现
来源:百度文库 编辑:神马文学网 时间:2024/04/28 00:04:17
在Web开发中我们经常会需要开发一些和日历相关的应用,自然需要制作一些日历程序,一些大家伙比如C#,JAVA或是VB.NET这些语言以往都有不少文章和示例介绍了,所以今天我给大家说一下其他常见Web脚步语言中的日历算法逻辑和具体的实现方式,希望对大家有用。
先看看我们的实现目标,就是在网页中通过脚本语言实现如下的日历:
要实现日历就必须用到相关语言中的日期和时间函数,其中最重要的是具有下面功能的两个函数:
- 能返回指定日期是星期几的函数
- 能返回指定年份和月份一共有多少天的函数,或者可以返回指定两个日期之间相差多少天的函数
只要语言中具有上面两个功能的函数就可以轻松实现日历。
实现日历的算法逻辑大致如下:
- 取得当前要显示的月份的1号是在星期几
- 取得当前要显示的月份一共有多少天
- 通过HTML的方式生成一个HTML的表格来显示日历(每行显示一周,并根据需要来决定是生成5行还是6行的表格)
- 根据显示的月份1号所在星期几空出前面的不属于该月日期的表格单元格
- 根据显示的月份1号所在星期几来决定生成表格时从星期几开始生成日历显示(第一天在星期几)
- 根据一共有多少天来顺次生成指定天数,另外每生成七个单元格需要加入一个表格的换行
- 补足HTML表格空缺的单元格
剩下的就是根据不同语言中具体的函数来实现了:
下面是根据上述算法和逻辑在asp中的具体实现代码:
div,span { font-family: "宋体"; font-size:9pt} 14
5
22 '"> 23 | 25 <%=pyear%>年<%=pmonth%>月 26 | 28 >" onclick="JavaScript:location.href='?ReqDate=<%=DateAdd("m",1,CurrentDate)%>'"> 29 | ||||
日 | 一 | 二 | 三 | 四 | 五 | 六 |
" & iv & " | ")" & iv & " | ")") | ||||
78
具体实现效果如下:
下面是根据上述算法和逻辑在PHP中的具体实现代码:
14
5
25 '"> 26 | 28 echo $CurrentDate; ?> 29 | 31 >" onclick="JavaScript:location.href='?ReqDate= echo date("Y-m-j",mktime(0,0,0,$pmonth+1,1,$pyear)); ?>'"> 32 | ||||
日 | 一 | 二 | 三 | 四 | 五 | 六 |
".$iv." | " );".$iv." | " );" ); | ||||
79
80