我需要用当地(塞尔维亚语)语言来表达当天的名字。
$date = date_create();
$day = date_format($date,"l");
switch ($day) {
case 'Monday': $day = "PONEDELJAK"; break;
case 'Tuesday': $day = "UTORAK"; break;
case 'Wednesday': $day = "SREDA"; break;
case 'Thursday': $day = "ČETVRTAK"; break;
case 'Friday': $day = "PETAK"; break;
case 'Saturday': $day = "SUBOTA"; break;
case 'Sunday': $day = "NEDELJA"; break;
}
$date = $day . ' - ' . date_format($date,"d. m. Y.");
echo $date;
结果 - PETAK - 14. 07. 2017.
所以,它有效,但我想有一个较短的方法,可能使用setlocale(LC_TIME, 'sr_BA')
,但我不知道该把它放在哪里。
任何帮助?
答案 0 :(得分:1)
您需要使用strftime()
代替date_*()
函数,该函数将始终以英语返回日期和月份的名称,如果您setlocale()
,也可以使用文档
根据区域设置格式化时间和/或日期。月份和工作日名称以及其他依赖于语言的字符串遵循使用setlocale()设置的当前语言环境。
答案 1 :(得分:1)
我的解决方案是为日子创建一个数组: 例如: (你必须以&#34开始一周; NEDELJA"(星期日))
$daynames = array("NEDELJA", "PONEDELJAK", "UTORAK", "SREDA", "ČETVRTAK", "PETAK", "PETAK");
$dayW = date("w");
echo $daynames[$dayW]; // output "PETAK" (Friday)