PHP strftime выводит неверный формат, несмотря на правильный часовой пояс - PullRequest
0 голосов
/ 17 ноября 2018

Я настроил свой часовой пояс на Европу / Париж в php.ini.При выполнении date_default_timezone_get() я получаю правильное значение.

Затем я ожидаю, что strftime('%x', date()) выведет что-то вроде 16 ноября 2018 , что является французским форматом.Но вместо этого я получаю 11/16/2018 , который выглядит как формат США.

Есть идеи почему?

Ответы [ 3 ]

0 голосов
/ 17 ноября 2018

Я пытался:

setlocale(LC_ALL, 'fr_utf8');


echo strftime("%d %B %Y", time());

и получил:

16 novembre 2018
0 голосов
/ 17 ноября 2018

Часовой пояс не влияет на представление даты и времени, для этого вам нужно установить локаль.Не существует стандартов для имен локалей, но, к счастью, функция PHP setlocale() будет принимать несколько имен локалей, останавливаясь на первом успешном.

// just a few common name formats
setlocale(LC_TIME, ["fr_FR.utf8", "fr_FR@euro", "fr_UTF8", "fr_FR", "french"]);
echo strftime("%d %B %Y", time());
0 голосов
/ 17 ноября 2018

после установки часового пояса в Европе / Париже, используйте эхо-дату ('d-M-Y'), и она покажет желаемое время. у меня это сработало

...