php获取是星期几的的一些常用姿势

xuelang0 2020-01-24

一般有时在页面上需要显示是星期几,需要根据日期进行计算。

这边整理了几个相关的姿势,先来最终封装好的方法

/**
 * 一个通用的函数, 获取是星期几
 *
 * @param $date
 * @return string
 */
 function getDayOfWeek($date)
{
 $days = ['一', '二', '三', '四', '五', '六', '日'];
 return '星期' . $days[date('N', strtotime($date)) - 1];
}

其他星期相关的可以直接看代码哈,就不多铝耍饕褪怯date函数中的D、l(L的小写)、N、w字母来获取。

先来一个待转换的日期列表:

// 一个待转换的日期列表
$dates = [
 '2019-12-02', // 星期一
 '2019-12-03', // 星期二
 '2019-12-04', // 星期三
 '2019-12-05', // 星期四
 '2019-12-06', // 星期五
 '2019-12-07', // 星期六
 '2019-12-08', // 星期七
];

D 星期中的第几天,文本表示,3 个字母 Mon 到 Sun

// D 星期中的第几天,文本表示,3 个字母 Mon 到 Sun
foreach ($dates as $date) {
 echo date('D', strtotime($date));
 echo PHP_EOL;
}
// 输出
// Mon
// Tue
// Wed
// Thu
// Fri
// Sat
// Sun

l(“L”的小写字母) 星期几,完整的文本格式 Sunday 到 Saturday

// l(“L”的小写字母) 星期几,完整的文本格式 Sunday 到 Saturday
foreach ($dates as $date) {
 echo date('l', strtotime($date));
 echo PHP_EOL;
}
// 输出
// Monday
// Tuesday
// Wednesday
// Thursday
// Friday
// Saturday
// Sunday

N ISO-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加) 1(表示星期一)到 7(表示星期天)

// N ISO-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加) 1(表示星期一)到 7(表示星期天)
foreach ($dates as $date) {
 echo date('N', strtotime($date));
 echo PHP_EOL;
}
// 输出
// 1
// 2
// 3
// 4
// 5
// 6
// 7

w 星期中的第几天,数字表示 0(表示星期天)到 6(表示星期六)

// w 星期中的第几天,数字表示 0(表示星期天)到 6(表示星期六)
foreach ($dates as $date) {
 echo date('w', strtotime($date));
 echo PHP_EOL;
}
// 输出
// 1
// 2
// 3
// 4
// 5
// 6
// 0

总结

相关推荐