【问题标题】:setlocale() not working properly with date()setlocale() 不能与 date() 一起正常工作
【发布时间】:2014-07-01 02:16:18
【问题描述】:

我有这段代码:

<?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);

    }


?>

结果:

2014 年 5 月 13 日星期二

2014 年 5 月 14 日星期三

2014 年 5 月 15 日星期四

2014 年 16 月 5 日星期五

2014 年 5 月 17 日星期六

2014 年 5 月 18 日星期日

2014 年 19 月 5 日星期一

为什么不工作?

【问题讨论】:

  • 为什么会被否决?我认为这实际上是一个合理的问题。
  • 我认为这里有很多巨魔在我的最后一个问题上都是一样的 xD
  • 其实你的一些问题确实不够详细。
  • @JuanDelÁrbol 在英语中以¿ 开头的问题是不必要的(准确地说是错误的)。 :)

标签: php date locale


【解决方案1】:

来自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";
}

【讨论】:

  • 好吧,这行得通,但最后一个问题,如何总结 1 天?因为现在 $diaActual = strtotime("+1 day", $diaActual);不工作
  • 是的,完美!非常感谢bwoebi :)
猜你喜欢
  • 2018-11-10
  • 1970-01-01
  • 2016-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多