Локализовать вывод строки strtotime - PullRequest
1 голос
/ 28 сентября 2011

Я прочитал руководства, касающиеся strtotime и strftime, а также связанных с ними функций, но, похоже, не могу добиться какого-либо прогресса в попытке решить мою проблему.

В основном меня интересуют способы печати вывода $ deldate5 на местном языке (в данном случае на голландском).

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

Скорее всего, мне нужно исключить строку strtotime и заменить ее чем-то другим, чтобы упростить параметр "сегодня + 5 дней".

Кто-нибудь может помочь? Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 28 сентября 2011

Давайте выберем это:

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

Это делает две вещи:

  1. strtotime: Создать метку времени UNIX (количество секунд с начала эпохи).
  2. date: отформатируйте вывод.

Ваша проблема связана с выводом (2.), а не с созданием отметки времени (1.).Итак, давайте разберем это:

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

Единственное, что сейчас требуется, это иметь дело со следующей строкой кода:

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

Параметры форматирования для date Документы Функция:

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) требует локали в вашем выводе, давайте посмотрим, какой параметр форматирования strftime Документы может предложить аналогичное:

%A - A full textual representation of the day.

Так что это всего лишь маленький шаг, чтобы перейти с date наstrftime:

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

Надеюсь, это поможет.

0 голосов
/ 28 сентября 2011

Попробуйте установить часовой пояс по умолчанию на ваш местный часовой пояс:

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

...