说到对时期和时间的处理,就一定要介绍一下日历程序的编写。但一提起编写日历,大多数人都会认为日历的作用只是为了在页上显示当前的日期,其实日历在我们的开发中有更重要的作用。例如我们开发一个“记事本”就需要通过日历设定日期,还有一些系统中需要按日期去排任务,也需要日历,等等。本例涉及的日期和时间函数并不是很多,都是前面介绍的内容,主要是通过一个日历类的编写,巩固一下前面介绍过的面向对象的语法知识,以及时间函数应用,最主要的是可以提升初学者的思维逻辑和程序设计能力。将日历类Calendar声明在文件calendar.class.php中,代码如下所示:
// file:calendar.class.php 日历类原文件
error_reporting(0);
class Calendar{
private $year;
private $month;
private $start_weekday; //当月的第一天对应的是周几,作为当月开始遍历日期的开始
private $days; //当前月总天数
//构造方法,用来初使化一些日期属性
function __construct(){
//如果用户没有设置所份数,则使用当前系统时间的年份
$this->year = isset($_GET["year"]) ? $_GET["year"] : date("Y");
//如果用户没有设置月份数,则使用当前系统时间的月份
$this->month = isset($_GET["month"]) ? $_GET["month"] : date("m");
//通过具体的年份和月份,利用date()函数的w参数获取当月第一天对应的是周几
$this->start_weekday = date("w",mktime(0,0,0,$this->month,1,$this->year));
//通过具体的年份和月份,