以当地语言获取当天的名字

时间:2017-07-14 06:15:41

标签: php date

我需要用当地(塞尔维亚语)语言来表达当天的名字。

$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'),但我不知道该把它放在哪里。

任何帮助?

2 个答案:

答案 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)