代码如下:
header("Content-type: text/html; charset=utf8");
/*
* 通过指定日期获取星期数
* @param $date 指定日期字符串,例如:2018-10-17
* @param $type 返回类型,0返回“星期x”格式,1返回数值格式
* @return $string 星期x
*/
function getWeek($date = '',$type=0){
if ($date == '') {
$date = date('Y-m-d');
}
// 强制转换为指定日期格式
$date_str = date('Y-m-d', strtotime($date));
// 封装成数组
$arr = explode("-", $date_str);
// 获取年份
$year = $arr[0];
// 获取月份,输出2位整型,不够2位右对齐
$month = sprintf('%02d', $arr[1]);
// 获取日,输出2位整型,不够2位右对齐
$day = sprintf('%02d', $arr[2]);
// 获取时分秒默认赋值为0;
$hour = $minute = $second = 0;
// 转换成时间戳
$strap = mktime($hour, $minute, $second, $month, $day, $year);
// 获取数字星期几
$weekIndex = date("w", $strap);
if ($type) {
return $weekIndex;
}
// 获取数字对应的星期
$weekArr = array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
return $weekArr[$weekIndex];
}
// 调用getWeek函数
var_dump(getWeek());
var_dump(getWeek('2018-10-16',1));
截图如下:
运行结果如下: