一、介绍
在编写PHP程序时,经常需要获取某个日期是星期几,这在编写一些日历等应用程序时非常有用。
二、使用date()函数求日期是星期几
PHP内置函数date()提供了一种简单的方法,可以用它获取指定日期的星期几。该函数有两个参数,第一个参数是日期格式如 Y-m-d,第二个参数是指定的时间戳(可选)。下面是一个示例代码:
```
$date = '2022-12-01';
$week = date('w', strtotime($date));
switch ($week) {
case 0: $weekday = "星期日"; break;
case 1: $weekday = "星期一"; break;
case 2: $weekday = "星期二"; break;
case 3: $weekday = "星期三"; break;
case 4: $weekday = "星期四"; break;
case 5: $weekday = "星期五"; break;
case 6: $weekday = "星期六"; break;
}
echo $weekday;
```
输出结果为:星期四。 上述代码中,首先定义了一个日期字符串$date,表示要求星期几的日期,然后通过strtotime()函数将日期字符串转换为时间戳,再通过date()函数获取星期几的数值,最后通过switch语句将星期几的数值转换成具体的星期几名称。
三、使用DateTime类求日期是星期几
PHP还提供了一个更加面向对象的方式,使用DateTime类可以获得指定日期的星期几。以下是一个示例代码:
```
$date = new DateTime('2022-12-01');
$weekday = $date->format('l');
echo $weekday;
```
输出结果为:Thursday。 上述代码中,首先通过new关键字实例化DateTime对象,将日期字符串传入构造方法中,然后通过调用format()方法并传递参数“l”,获取星期几的名称。
四、使用自定义函数求日期是星期几
除了使用内置的date()函数和DateTime类外,还可以定义自己的函数来实现获取日期的星期几。下面的示例代码参考了PHP内置函数date()的实现方式:
```
function weekday($date) {
$week = array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
$weekday = $week[date('w', strtotime($date))];
return $weekday;
}
echo weekday('2022-12-01');
```
输出结果为:Thursday。 上述代码中,定义了一个名为weekday()的函数,用于获取指定日期的星期几。该函数首先定义了一个星期数组$week,然后通过date()函数获取星期几的数值,并将数值作为索引获取星期几的字符串,最后返回该字符串作为结果。
五、总结
本文介绍了三种方法来求日期是星期几,分别是使用PHP内置函数date()、使用DateTime类以及自定义函数。它们都非常简单易懂,可以根据需要进行选择使用。