setlocale()与date()无法正常工作

时间:2014-05-13 12:01:51

标签: php date locale

我有这段代码:

<?php

    setlocale(LC_ALL,"es_ES");
    $contador = 1;
    $diaActual = time();

    while ($contador <= 7) {

        echo date("D j-n-Y", $diaActual)."<br><br>";
        $contador++;
        $diaActual = strtotime("+1 day", $diaActual);

    }


?>

结果:

  

Tue 13-5-2014

     

2014年5月14日至星期三

     

Thu 15-5-2014

     

2014年5月16日至周五

     

星期六17-5-2014

     

Sun 18-5-2014

     

Mon 19-5-2014

为什么不工作?

1 个答案:

答案 0 :(得分:2)

来自manual about date()

  

要使用其他语言格式化日期,您应该使用setlocale()和strftime()函数而不是date()。

所以请使用strftime()

print strftime("%a %d-%m-%Y");

要总结一天,只需使用如下的时间戳:

for ($time = time(), $contador = 1;
     $contador <= 7;
     $contador++, $time = strtotime('+1 day', $time)) {
    print strftime("%a %d-%m-%Y", $time)."<br />\n";
}