一个很好的php日历类共享

当谈到时间和时间的处理时,有必要介绍一下日历的编写,但是当我们提到日历时,大多数人认为日历的作用仅仅是在页面上显示当前日期。其实,日历在我们的发展中发挥更重要的作用。例如,当我们开发一个笔记本,我们需要通过日历设置日期,和一些系统需要日期的任务的日期,日历,等等。在这种情况下,日期和时间函数涉及不多,内容主要是通过一个日历类的制备,以巩固了前面的语法对象,和时间的功能是最重要的应用,可以提高初学者的思维逻辑和编程能力。日历日历是类文件中的calendar.class.php宣布,和代码所示如下:





< PHP
/ /文件:calendar.class.php日历类文件
(0)error_reporting;

班级日历{
私人年;
私人月;
私人start_weekday美元; / /这个月的第一天是对应的星期几,作为遍历的起始日期
私有天$;当前月份的总天数

构建方法,将日期属性初始化为一些
功能__construct(){
如果用户不设置拷贝数,则当前系统时间使用年份
美元->年= isset($ _get {年})$ _get {年}:日期(Y);
如果用户不设置月份号,则在当前系统时间内使用。
美元->月= isset($ _get { 月})$ _get {月}:日期(我);
通过具体的年份和月份,使用日期(w)参数函数得到当月的第一天对应于数周。
美元-> start_weekday =日期(W
通过具体的年份和月份,使用日期(t)月的天数获得参数的函数。
此日期=
}

打印整个日历/魔术的方法
功能__tostring(){
$ =;
美元(=美元-> chagedate); / /呼叫用户设定的日期内私有方法
美元(=美元-> weekslist) / /电话;内部私有印刷周榜
美元(=美元-> dayslist / /);打电话给名单上的内部私有的印刷方法
$ =;

返回$;返回整个日历以丢失所有字符串
}

私有方法内部调用,用于输出周列表
私有函数weekslist(){
$周=阵列(天','一','二'、三、四、五、六);
$ =;
($ i = 0;$ i <计数($星期);$ + +)
一个星期的输出列表的第一行。
$ =;
返回$;返回周列表字符串
}

私有方法内部调用,用于输出周列表
私有函数dayslist(){
$ =;
输出空间(当前的一月/前一天清空)
为($ J = 0;jstart_weekday美元;J + +)
$ =;

如果设置当前日期,则该日期的所有日期都将循环结束。
为($ k = 1;kdays美元;$ K +){
美元+;

如果($ =日期=('')){
=;
{ }人
=;
}

如果每行输出日期($ 7 = = 0) 7
$=;输出行和下一行开始的结尾。
}

遍历结束日期,将以空格填充。
(7美元!= 0){
$ =;
美元+;
}

$ =;
返回$;返回日期月表
}

私有方法内部调用,用于当前需要的年度数据
私有函数prevyear($年$月,){
今年1美元=美元; / /年每年削减1

如果($ < 1970)年设置最小值为1970
1970美元;

返回年= $月};返回年份的最后月份和设置参数。
}

私有方法内部调用,用于当前一月所需的数据
私有函数prevmonth($年$月,){

如果($ = 1){
今年1美元=美元; / /年每年削减1

如果($ < 1970)年设置最小值为1970
1970美元;
美元= 12美元;如果是一月,一月是一月的最后一年。
{ }人
一月,这个月减去1。
}
返回年= $月};返回年份的最后月份和设置参数。
}

私有方法内部调用,用于当前一年的下一年数据
私有函数($年$月,明年){
年= 1美元/年;下一年是1年。

如果($ > 2038)将最大值设置为2038
2038美元;

返回年= $月};返回年份的最后月份和设置参数。
}

私有方法内部调用,用于当前一月所需的数据
私有函数下个月($年,美元一个月){

如果($ = 12){
年+ +;

如果($ > 2038)将最大值设置为2038
2038美元;
美元= 1美元;如果是一月,一月是一月的最后一年。
{ }人
月+ +;一月是1个月。
}
返回年= $月};返回年份的最后月份和设置参数。
}

私有方法内部调用,用于用户调整年份和月份的设置
私有函数chagedate($url = 指标。PHP){
$ =;
美元= 'prevyear(美元->年,美元->月)>'。。;
美元= 'prevmonth(美元->年,美元->月)>'。。;

$ =;
$ =;
美元<选择名称=年的变化= 窗口。定位= 。$ URL。
年= 这个选项{ SelectedIndex }。价值+ 'month = '。美元->月。;
对于($ = 1970;$ = 2038;$ + +){
选定的$ =选定的($ = $ = $ - >年);
$ =;
}
$ =;
美元<选择月窗口位置变化=。= 。$ URL。
年= '。美元->年。'month = 这个选项{ SelectedIndex }。值;
对于($ = 1;$ SM = 12;$ + +){
selected1美元(SM = = =选择美元美元->月);
$ =;
}
$ =;
$ =;
$ =;

美元= 'nextyear(美元->年,美元->月)>'。> >'。。;
美元= 'nextmonth(美元->年,美元->月)>'。> >'。。;
$ =;
返回$;返回日期表
}
}
>


在这个例子中,一个日历程序按功能划分(每周列表部分、日期列表部分、设置日期部分、去年、明年、上个月和下个月的设置部分),并封装在日历类中。在主程序中,我们需要首先设置日历输出的样式。代码如下。




php日历的一个例子

表{ border: 1px solid # 050;}
.fontb {color:white; background:blue;}
TH {宽度:30px;}
TD、TH {身高:30px;文本对齐:中心;}
形式{ margin: 0px;padding: 0px;}



< PHP
require'calendar PHP。类;
新日历;
>




如图所示,默认情况下显示当前系统日期。您可以通过单击>按钮设置下一年,但最大年份设置为2038。您也可以单击按钮设置上一个月和下一个月。如果这个月是十二月,下一个月将是明年的一月。如果这个月是一月,最后一个月是上一年的十二月,如果你需要快速找到指定的年份和月份,你也可以通过下拉列表设置它。