PHP输出中文格式的”星期几“

PHP可以输出英文的星期几,Monday, Tuesday等等,可以直接用函数输出; 如下,

echo date('l'); //输出的是英文, 如Monday,其中 l 是小写的英文字母
echo date('w');//输出数字,如果今天是星期三,该函数输出数字3
echo strftime('%A')//输出的是英文,如 Monday

但是不能输出中文格式的星期几,难道没有函数可以直接输出星期一, 星期二?

这个问题苦恼了我好久。不知道是PHP本身的原因还是我的设置问题,不得其解。

尝试了下面几个方法,都不行。

setlocale(LC_TIME,"chs");
$weekday = strftime("%A");
echo $weekday;// 输出乱码
setlocale(LC_TIME,"chs.UTF8");
$weekday = strftime("%A");
echo $weekday;//输出英文
setlocale(LC_TIME,"zh_CN");
$weekday = strftime("%A");
echo $weekday;//输出英文

今天看到一个方法,可以暂时解决这个问题。虽然麻烦点,但是很聪明的做法。

<?php
//获取中文格式的星期几

//获取今天是星期几
$weekday = array("日","一","二","三","四","五","六");
echo '星期'.$weekday[date('w')];
echo "\n";

//获取指定日期是星期几
$weekday = array("日","一","二","三","四","五","六");
echo '星期'.$weekday[date('w',strtotime('2020-9-11'))];
echo "\n";

// 参考这篇文章: https://www.cnblogs.com/jinshuo/p/6733096.html 
?>

希望能找到更便捷的方法。

发布于
归类为PHP 标签:

作者:James

生命苦短,学海无涯。向伟大领袖学习,“自信人生二百年,会当水击三千里”。永远保持一颗热忱的心。

发表评论

邮箱地址不会被公开。 必填项已用*标注