本地化strtotime字符串的输出

时间:2011-09-28 11:44:03

标签: php date strtotime strftime

我阅读了有关strtotime和strftime以及相关功能的手册,但我似乎无法在尝试解决问题方面取得任何进展。

基本上,我对以本地语言打印$ deldate5的输出方式感兴趣(本例中为荷兰语)。

$deldate5 = date("d.m.Y., l", strtotime("today + 5 day", time()));

我很可能需要抛弃strtotime字符串并用其他东西替换它以便于“今天+ 5天”参数。

有人可以帮忙吗?提前谢谢。

2 个答案:

答案 0 :(得分:4)

让我们分开来看:

$deldate5 = date("d.m.Y., l", strtotime("today + 5 day", time()));

这是做两件事:

  1. strtotime:创建一个UNIX时间戳(自纪元以来的秒数)。
  2. date:格式化输出。
  3. 您的问题与输出(2.)有关,而不是创建时间戳(1.)。所以让我们把它分开:

    $timestamp = strtotime("today + 5 day", time());
    $formatted = date("d.m.Y., l", $timestamp);
    

    现在唯一需要的是处理以下代码行:

    $formatted = date("d.m.Y., l", $timestamp);
    

    dateDocs功能的格式参数为:

    d - Day of the month, 2 digits with leading zeros
    m - Numeric representation of a month, with leading zeros
    Y - A full numeric representation of a year, 4 digits
    l - A full textual representation of the day of the week
    

    由于l(小写L)需要输出中的区域设置,让我们看一下类似的格式参数strftimeDocs

    %A - A full textual representation of the day.
    

    因此,从date更改为strftime只需一小步:

    $formatted = strftime("%d.%m.%Y., %A", $timestamp);
    

    希望这有帮助。

答案 1 :(得分:0)

尝试将日期默认时区设置为您当地的时区:

http://www.php.net/manual/en/function.date-default-timezone-set.php